summaryrefslogtreecommitdiff
path: root/ACE/ace/OS_NS_ctype.h
blob: 2bff7a3c3adb8b7ca07d440227a21788a427faa0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
// -*- C++ -*-

//=============================================================================
/**
 *  @file   OS_NS_ctype.h
 *
 *  @author Douglas C. Schmidt <d.schmidt@vanderbilt.edu>
 *  @author Jesper S. M|ller<stophph@diku.dk>
 *  @author and a cast of thousands...
 */
//=============================================================================

#ifndef ACE_OS_NS_CTYPE_H
# define ACE_OS_NS_CTYPE_H

# include /**/ "ace/pre.h"

# include "ace/config-all.h"

# if !defined (ACE_LACKS_PRAGMA_ONCE)
#  pragma once
# endif /* ACE_LACKS_PRAGMA_ONCE */

#include /**/ "ace/ACE_export.h"

#if defined (ACE_EXPORT_MACRO)
#  undef ACE_EXPORT_MACRO
#endif
#define ACE_EXPORT_MACRO ACE_Export

#include "ace/os_include/os_ctype.h"
#if defined ACE_HAS_WCHAR
# include "ace/os_include/os_wctype.h"
#endif /* ACE_HAS_WCHAR */

ACE_BEGIN_VERSIONED_NAMESPACE_DECL

namespace ACE_OS {

  // these are non-standard names...

  /** @name Functions from <cctype>
   *
   *  Included are the functions defined in <cctype> and their <cwctype>
   *  equivalents.
   *
   *  Since they are often implemented as macros, we don't use the same name
   *  here.  Instead, we change by prepending "ace_".
   */
  //@{

  /// Returns true if the character is an alphanumeric character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isalnum (ACE_TCHAR c);

  /// Returns true if the character is an alphabetic character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isalpha (ACE_TCHAR c);

  /// Returns true if the character is a control character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isblank (ACE_TCHAR c);

  /// Returns true if the character is a control character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isascii (ACE_TCHAR c);

  /// Returns true if the character is a control character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_iscntrl (ACE_TCHAR c);

  /// Returns true if the character is a decimal-digit character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isdigit (ACE_TCHAR c);

  /// Returns true if the character is a printable character other than a space.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isgraph (ACE_TCHAR c);

  /// Returns true if the character is a lowercase character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_islower (ACE_TCHAR c);

  /// Returns true if the character is a printable character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isprint (ACE_TCHAR c);

  /// Returns true if the character is a punctuation character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_ispunct (ACE_TCHAR c);

  /// Returns true if the character is a space character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isspace (ACE_TCHAR c);

  /// Returns true if the character is an uppercase character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isupper (ACE_TCHAR c);

  /// Returns true if the character is a hexadecimal-digit character.
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isxdigit (ACE_TCHAR c);

  /// Converts a character to lower case (char version).
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_tolower (int c);

#if defined (ACE_HAS_WCHAR)
  /// Converts a character to lower case (wchar_t version).
  ACE_NAMESPACE_INLINE_FUNCTION
  wint_t ace_towlower (wint_t c);
#endif /* ACE_HAS_WCHAR */

  /// Converts a character to upper case (char version).
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_toupper (int c);

#if defined (ACE_HAS_WCHAR) && !defined (ACE_LACKS_TOWUPPER)
  /// Converts a character to upper case (wchar_t version).
  ACE_NAMESPACE_INLINE_FUNCTION
  wint_t ace_towupper (wint_t c);
#endif /* ACE_HAS_WCHAR && !ACE_LACKS_TOWUPPER */

  /// Tests @a c for the property specified by the @a desc argument
  ACE_NAMESPACE_INLINE_FUNCTION
  int ace_isctype (int c, ctype_t desc);
  //@}

} /* namespace ACE_OS */

ACE_END_VERSIONED_NAMESPACE_DECL

# if defined (ACE_HAS_INLINED_OSCALLS)
#   if defined (ACE_INLINE)
#     undef ACE_INLINE
#   endif /* ACE_INLINE */
#   define ACE_INLINE inline
#   include "ace/OS_NS_ctype.inl"
# endif /* ACE_HAS_INLINED_OSCALLS */

# include /**/ "ace/post.h"
#endif /* ACE_OS_NS_CTYPE_H */