OS_NS_ctype.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // $Id: OS_NS_ctype.inl 80826 2008-03-04 14:51:23Z wotte $
00004 
00005 #include "ace/os_include/os_ctype.h"
00006 #if defined ACE_HAS_WCHAR
00007 # include "ace/os_include/os_wctype.h"
00008 #endif /* ACE_HAS_WCHAR */
00009 
00010 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00011 
00012 ACE_INLINE int
00013 ACE_OS::ace_isalnum (ACE_TCHAR c)
00014 {
00015 #if defined (ACE_USES_WCHAR)
00016 # if defined (_MSC_VER) && (_MSC_VER >= 1300)
00017   // For MSVC 7.x, we need to prevent "illegal" character getting into
00018   // isalnum, otherwise, it will crash the program.
00019   return c > 0 && c < 256 && iswalnum (c);
00020 # else
00021   return iswalnum (c);
00022 # endif /* _MSC_VER && _MSC_VER >= 1300 */
00023 #else /* ACE_USES_WCHAR */
00024   return isalnum ((unsigned char) c);
00025 #endif /* ACE_USES_WCHAR */
00026 }
00027 
00028 ACE_INLINE int
00029 ACE_OS::ace_isalpha (ACE_TCHAR c)
00030 {
00031 #if defined (ACE_USES_WCHAR)
00032   return iswalpha (c);
00033 #else /* ACE_USES_WCHAR */
00034   return isalpha ((unsigned char) c);
00035 #endif /* ACE_USES_WCHAR */
00036 }
00037 
00038 ACE_INLINE int
00039 ACE_OS::ace_iscntrl (ACE_TCHAR c)
00040 {
00041 #if defined (ACE_USES_WCHAR)
00042   return iswcntrl (c);
00043 #else /* ACE_USES_WCHAR */
00044   return iscntrl ((unsigned char) c);
00045 #endif /* ACE_USES_WCHAR */
00046 }
00047 
00048 ACE_INLINE int
00049 ACE_OS::ace_isdigit (ACE_TCHAR c)
00050 {
00051 #if defined (ACE_USES_WCHAR)
00052   return iswdigit (c);
00053 #else /* ACE_USES_WCHAR */
00054   return isdigit ((unsigned char) c);
00055 #endif /* ACE_USES_WCHAR */
00056 }
00057 
00058 ACE_INLINE int
00059 ACE_OS::ace_isgraph (ACE_TCHAR c)
00060 {
00061 #if defined (ACE_USES_WCHAR)
00062   return iswgraph (c);
00063 #else /* ACE_USES_WCHAR */
00064   return isgraph ((unsigned char) c);
00065 #endif /* ACE_USES_WCHAR */
00066 }
00067 
00068 ACE_INLINE int
00069 ACE_OS::ace_islower (ACE_TCHAR c)
00070 {
00071 #if defined (ACE_USES_WCHAR)
00072   return iswlower (c);
00073 #else /* ACE_USES_WCHAR */
00074   return islower ((unsigned char) c);
00075 #endif /* ACE_USES_WCHAR */
00076 }
00077 
00078 ACE_INLINE int
00079 ACE_OS::ace_isprint (ACE_TCHAR c)
00080 {
00081 #if defined (ACE_USES_WCHAR)
00082   return iswprint (c);
00083 #else /* ACE_USES_WCHAR */
00084   return isprint ((unsigned char) c);
00085 #endif /* ACE_USES_WCHAR */
00086 }
00087 
00088 ACE_INLINE int
00089 ACE_OS::ace_ispunct (ACE_TCHAR c)
00090 {
00091 #if defined (ACE_USES_WCHAR)
00092   return iswpunct (c);
00093 #else /* ACE_USES_WCHAR */
00094   return ispunct ((unsigned char) c);
00095 #endif /* ACE_USES_WCHAR */
00096 }
00097 
00098 ACE_INLINE int
00099 ACE_OS::ace_isspace (ACE_TCHAR c)
00100 {
00101 #if defined (ACE_USES_WCHAR)
00102   return iswspace (c);
00103 #else /* ACE_USES_WCHAR */
00104   return isspace ((unsigned char) c);
00105 #endif /* ACE_USES_WCHAR */
00106 }
00107 
00108 ACE_INLINE int
00109 ACE_OS::ace_isupper (ACE_TCHAR c)
00110 {
00111 #if defined (ACE_USES_WCHAR)
00112   return iswupper (c);
00113 #else /* ACE_USES_WCHAR */
00114   return isupper ((unsigned char) c);
00115 #endif /* ACE_USES_WCHAR */
00116 }
00117 
00118 ACE_INLINE int
00119 ACE_OS::ace_isxdigit (ACE_TCHAR c)
00120 {
00121 #if defined (ACE_USES_WCHAR)
00122   return iswxdigit (c);
00123 #else /* ACE_USES_WCHAR */
00124   return isxdigit ((unsigned char) c);
00125 #endif /* ACE_USES_WCHAR */
00126 }
00127 
00128 ACE_INLINE int
00129 ACE_OS::ace_tolower (int c)
00130 {
00131   return tolower (c);
00132 }
00133 
00134 #if defined (ACE_HAS_WCHAR)
00135 ACE_INLINE wint_t
00136 ACE_OS::ace_towlower (wint_t c)
00137 {
00138 #if defined (ACE_LACKS_TOWLOWER)
00139   if (c < 256)
00140     return tolower (static_cast<int> (c));
00141   else
00142     return c;
00143 #else
00144   return towlower (c);
00145 #endif /* ACE_LACKS_TOWLOWER */
00146 }
00147 #endif /* ACE_HAS_WCHAR */
00148 
00149 ACE_INLINE int
00150 ACE_OS::ace_toupper (int c)
00151 {
00152   return toupper (c);
00153 }
00154 
00155 #if defined (ACE_HAS_WCHAR) && !defined (ACE_LACKS_TOWUPPER)
00156 ACE_INLINE wint_t
00157 ACE_OS::ace_towupper (wint_t c)
00158 {
00159   return towupper (c);
00160 }
00161 #endif /* ACE_HAS_WCHAR && !ACE_LACKS_TOWUPPER */
00162 
00163 ACE_END_VERSIONED_NAMESPACE_DECL

Generated on Tue Feb 2 17:18:41 2010 for ACE by  doxygen 1.4.7