/home/ntakagi/work/STLport-5.1.5/stlport/ctype.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 1999
00003  * Boris Fomitchev
00004  *
00005  * This material is provided "as is", with absolutely no warranty expressed
00006  * or implied. Any use is at your own risk.
00007  *
00008  * Permission to use or copy this software for any purpose is hereby granted
00009  * without fee, provided the above notices are retained on all copies.
00010  * Permission to modify the code and to distribute modified code is granted,
00011  * provided the above notices are retained, and a notice that the code was
00012  * modified is included with the above copyright notice.
00013  *
00014  */
00015 
00016 #ifndef _STLP_CTYPE_H
00017 
00018 /* Workaround for a "misbehaviour" when compiling resource scripts using
00019  * eMbedded Visual C++. The standard .rc file includes windows header files,
00020  * which in turn include ctype.h, which results in warnings and errors
00021  */
00022 #if !defined(RC_INVOKED)
00023 
00024 #  if !defined (_STLP_OUTERMOST_HEADER_ID)
00025 #    define _STLP_OUTERMOST_HEADER_ID 0x219
00026 #    include <stl/_prolog.h>
00027 #  elif (_STLP_OUTERMOST_HEADER_ID == 0x219)
00028 #    define _STLP_DONT_POP_HEADER_ID
00029 #    define _STLP_CTYPE_H
00030 #  endif
00031 
00032 #  if defined(_STLP_WCE_EVC3)
00033 struct _exception;
00034 #  endif
00035 
00036 #  include _STLP_NATIVE_C_HEADER(ctype.h)
00037 
00038 /* on evc4 including ctype.h also defines setjmp macro */
00039 #  if defined (_STLP_WCE)
00040 #    define _STLP_NATIVE_SETJMP_H_INCLUDED
00041 #  endif
00042 
00043 #  ifndef _STLP_CTYPE_H_SEEN
00044 #    define _STLP_CTYPE_H_SEEN
00045 
00046 /* Undef convenience interfaces */
00047 #    undef isspace
00048 #    undef isprint
00049 #    undef iscntrl
00050 #    undef isupper
00051 #    undef islower
00052 #    undef isalpha
00053 #    undef isdigit
00054 #    undef ispunct
00055 #    undef isxdigit
00056 #    undef isalnum
00057 #    undef isgraph
00058 #    undef toupper
00059 #    undef tolower
00060 
00061 #    if defined (UNDER_CE)
00062 
00063 #      if (_WIN32_WCE < 300)     /* Only wide chars for older versions */
00064 #        define _isctype iswctype
00065 #      endif
00066 
00067 __inline int (isalpha)(int c) { return _isctype(c, _ALPHA); }
00068 __inline int (isupper)(int c) { return _isctype(c, _UPPER); }
00069 __inline int (islower)(int c) { return _isctype(c, _LOWER); }
00070 __inline int (isdigit)(int c) { return _isctype(c, _DIGIT); }
00071 __inline int (isxdigit)(int c) { return _isctype(c, _HEX); }
00072 __inline int (isspace)(int c) { return _isctype(c, _SPACE); }
00073 __inline int (ispunct)(int c) { return _isctype(c, _PUNCT); }
00074 __inline int (isalnum)(int c) { return _isctype(c, _ALPHA|_DIGIT); }
00075 __inline int (isprint)(int c) { return _isctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); }
00076 __inline int (isgraph)(int c) { return _isctype(c, _PUNCT|_ALPHA|_DIGIT); }
00077 __inline int (iscntrl)(int c) { return _isctype(c, _CONTROL); }
00078 __inline int (isascii)(int c) { return ((unsigned)(c) < 0x80); }
00079 
00080 #      undef _isctype
00081 
00082 __inline int (iswalpha)(int c) { return iswctype(c, _ALPHA); }
00083 __inline int (iswupper)(int c) { return iswctype(c, _UPPER); }
00084 __inline int (iswlower)(int c) { return iswctype(c, _LOWER); }
00085 __inline int (iswdigit)(int c) { return iswctype(c, _DIGIT); }
00086 __inline int (iswxdigit)(int c) { return iswctype(c, _HEX); }
00087 __inline int (iswspace)(int c) { return iswctype(c, _SPACE); }
00088 __inline int (iswpunct)(int c) { return iswctype(c, _PUNCT); }
00089 __inline int (iswalnum)(int c) { return iswctype(c, _ALPHA|_DIGIT); }
00090 __inline int (iswprint)(int c) { return iswctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); }
00091 __inline int (iswgraph)(int c) { return iswctype(c, _PUNCT|_ALPHA|_DIGIT); }
00092 __inline int (iswcntrl)(int c) { return iswctype(c, _CONTROL); }
00093 __inline int (iswascii)(int c) { return ((unsigned)(c) < 0x80); }
00094 
00095 #    endif /* UNDER_CE */
00096 
00097 #  endif /* _STLP_CTYPE_H_SEEN */
00098 
00099 #  if (_STLP_OUTERMOST_HEADER_ID == 0x219)
00100 #    if ! defined (_STLP_DONT_POP_HEADER_ID)
00101 #      include <stl/_epilog.h>
00102 #      undef  _STLP_OUTERMOST_HEADER_ID
00103 #    else
00104 #      undef  _STLP_DONT_POP_HEADER_ID
00105 #    endif
00106 #  endif
00107 
00108 #endif /* RC_INVOKED */
00109 
00110 #endif /* _STLP_CTYPE_H */



Generated on Mon Mar 10 15:32:17 2008 by  doxygen 1.5.1