ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

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 #  if defined (_STLP_HAS_INCLUDE_NEXT)
00037 #    include_next <ctype.h>
00038 #  else
00039 #    include _STLP_NATIVE_C_HEADER(ctype.h)
00040 #  endif
00041 
00042 /* on evc4 including ctype.h also defines setjmp macro */
00043 #  if defined (_STLP_WCE)
00044 #    define _STLP_NATIVE_SETJMP_H_INCLUDED
00045 #  endif
00046 
00047 #  ifndef _STLP_CTYPE_H_SEEN
00048 #    define _STLP_CTYPE_H_SEEN
00049 
00050 /* Undef convenience interfaces */
00051 #    undef isspace
00052 #    undef isprint
00053 #    undef iscntrl
00054 #    undef isupper
00055 #    undef islower
00056 #    undef isalpha
00057 #    undef isdigit
00058 #    undef ispunct
00059 #    undef isxdigit
00060 #    undef isalnum
00061 #    undef isgraph
00062 #    undef toupper
00063 #    undef tolower
00064 
00065 #    if defined (UNDER_CE)
00066 
00067 #      if (_WIN32_WCE < 300)     /* Only wide chars for older versions */
00068 #        define _isctype iswctype
00069 #      endif
00070 
00071 __inline int (isalpha)(int c) { return _isctype(c, _ALPHA); }
00072 __inline int (isupper)(int c) { return _isctype(c, _UPPER); }
00073 __inline int (islower)(int c) { return _isctype(c, _LOWER); }
00074 __inline int (isdigit)(int c) { return _isctype(c, _DIGIT); }
00075 __inline int (isxdigit)(int c) { return _isctype(c, _HEX); }
00076 __inline int (isspace)(int c) { return _isctype(c, _SPACE); }
00077 __inline int (ispunct)(int c) { return _isctype(c, _PUNCT); }
00078 __inline int (isalnum)(int c) { return _isctype(c, _ALPHA|_DIGIT); }
00079 __inline int (isprint)(int c) { return _isctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); }
00080 __inline int (isgraph)(int c) { return _isctype(c, _PUNCT|_ALPHA|_DIGIT); }
00081 __inline int (iscntrl)(int c) { return _isctype(c, _CONTROL); }
00082 __inline int (isascii)(int c) { return ((unsigned)(c) < 0x80); }
00083 
00084 #      undef _isctype
00085 
00086 __inline int (iswalpha)(int c) { return iswctype((unsigned short)(c), _ALPHA); }
00087 __inline int (iswupper)(int c) { return iswctype((unsigned short)(c), _UPPER); }
00088 __inline int (iswlower)(int c) { return iswctype((unsigned short)(c), _LOWER); }
00089 __inline int (iswdigit)(int c) { return iswctype((unsigned short)(c), _DIGIT); }
00090 __inline int (iswxdigit)(int c) { return iswctype((unsigned short)(c), _HEX); }
00091 __inline int (iswspace)(int c) { return iswctype((unsigned short)(c), _SPACE); }
00092 __inline int (iswpunct)(int c) { return iswctype((unsigned short)(c), _PUNCT); }
00093 __inline int (iswalnum)(int c) { return iswctype((unsigned short)(c), _ALPHA|_DIGIT); }
00094 __inline int (iswprint)(int c) { return iswctype((unsigned short)(c), _BLANK|_PUNCT|_ALPHA|_DIGIT); }
00095 __inline int (iswgraph)(int c) { return iswctype((unsigned short)(c), _PUNCT|_ALPHA|_DIGIT); }
00096 __inline int (iswcntrl)(int c) { return iswctype((unsigned short)(c), _CONTROL); }
00097 __inline int (iswascii)(int c) { return ((unsigned)(c) < 0x80); }
00098 
00099 #    endif /* UNDER_CE */
00100 
00101 #  endif /* _STLP_CTYPE_H_SEEN */
00102 
00103 #  if (_STLP_OUTERMOST_HEADER_ID == 0x219)
00104 #    if ! defined (_STLP_DONT_POP_HEADER_ID)
00105 #      include <stl/_epilog.h>
00106 #      undef  _STLP_OUTERMOST_HEADER_ID
00107 #    else
00108 #      undef  _STLP_DONT_POP_HEADER_ID
00109 #    endif
00110 #  endif
00111 
00112 #endif /* RC_INVOKED */
00113 
00114 #endif /* _STLP_CTYPE_H */

Generated on Sun May 27 2012 04:28:46 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.