22 #ifndef _STLP_INTERNAL_CTYPE_H 23 #define _STLP_INTERNAL_CTYPE_H 25 #ifndef _STLP_C_LOCALE_H 29 #ifndef _STLP_INTERNAL_LOCALE_H 33 #ifndef _STLP_INTERNAL_ALGOBASE_H 58 template <
class charT>
class ctype {};
65 #ifndef _STLP_NO_WCHAR_T 77 explicit ctype(
const mask* __tab = 0,
bool __del =
false,
size_t __refs = 0);
79 {
return ((*(_M_ctype_table+(
unsigned char)
__c)) & __m) != 0; }
81 const char*
is(
const char* __low,
const char* __high,
mask* __vec)
const {
82 for (
const char* __p = __low;__p != __high; ++__p, ++__vec) {
83 *__vec = _M_ctype_table[(
unsigned char)*__p];
88 const char* scan_is(
mask __m,
const char* __low,
const char* __high)
const;
89 const char* scan_not(
mask __m,
const char* __low,
const char* __high)
const;
92 const char* (
toupper)(
char* __low,
const char* __high)
const {
93 return do_toupper(__low, __high);
97 const char* (
tolower)(
char* __low,
const char* __high)
const {
98 return do_tolower(__low, __high);
102 const char*
widen(
const char* __low,
const char* __high,
char* __to)
const {
103 return do_widen(__low, __high, __to);
107 return do_narrow(
__c, __dfault);
109 const char*
narrow(
const char* __low,
const char* __high,
110 char __dfault,
char* __to)
const {
111 return do_narrow(__low, __high, __dfault, __to);
123 virtual
char do_toupper(
char __c)
const;
124 virtual
char do_tolower(
char __c)
const;
127 virtual
char do_widen(
char __c)
const;
130 virtual
char do_narrow(
char __c,
char )
const;
132 char ,
char* __to)
const;
153 virtual char do_toupper(
char __c)
const;
154 virtual char do_tolower(
char __c)
const;
156 virtual const char* do_toupper(
char*,
const char*)
const;
157 virtual const char* do_tolower(
char*,
const char*)
const;
175 # ifndef _STLP_NO_WCHAR_T 184 {
return do_is(__m,
__c); }
186 const wchar_t*
is(
const wchar_t* __low,
const wchar_t* __high,
188 {
return do_is(__low, __high, __vec); }
191 const wchar_t* __low,
const wchar_t* __high)
const 192 {
return do_scan_is(__m, __low, __high); }
195 const wchar_t* __low,
const wchar_t* __high)
const 196 {
return do_scan_not(__m, __low, __high); }
199 const wchar_t* (
toupper)(
wchar_t* __low,
const wchar_t* __high)
const 200 {
return do_toupper(__low, __high); }
203 const wchar_t* (
tolower)(
wchar_t* __low,
const wchar_t* __high)
const 204 {
return do_tolower(__low, __high); }
207 const char*
widen(
const char* __low,
const char* __high,
209 {
return do_widen(__low, __high, __to); }
212 {
return do_narrow(
__c, __dfault); }
213 const wchar_t*
narrow(
const wchar_t* __low,
const wchar_t* __high,
214 char __dfault,
char* __to)
const 215 {
return do_narrow(__low, __high, __dfault, __to); }
222 virtual bool do_is(
mask __m,
wchar_t __c)
const;
223 virtual const wchar_t* do_is(
const wchar_t*,
const wchar_t*,
mask*)
const;
224 virtual const wchar_t* do_scan_is(
mask,
225 const wchar_t*,
const wchar_t*)
const;
226 virtual const wchar_t* do_scan_not(
mask,
227 const wchar_t*,
const wchar_t*)
const;
228 virtual wchar_t do_toupper(
wchar_t __c)
const;
229 virtual const wchar_t* do_toupper(
wchar_t*,
const wchar_t*)
const;
230 virtual wchar_t do_tolower(
wchar_t c)
const;
231 virtual const wchar_t* do_tolower(
wchar_t*,
const wchar_t*)
const;
232 virtual wchar_t do_widen(
char c)
const;
233 virtual const char* do_widen(
const char*,
const char*,
wchar_t*)
const;
234 virtual char do_narrow(
wchar_t __c,
char __dfault)
const;
235 virtual const wchar_t* do_narrow(
const wchar_t*,
const wchar_t*,
243 explicit ctype_byname(
const char* __name,
size_t __refs = 0);
248 virtual bool do_is(
mask __m,
wchar_t __c)
const;
249 virtual const wchar_t* do_is(
const wchar_t*,
const wchar_t*,
mask*)
const;
250 virtual const wchar_t* do_scan_is(
mask,
251 const wchar_t*,
const wchar_t*)
const;
252 virtual const wchar_t* do_scan_not(
mask,
253 const wchar_t*,
const wchar_t*)
const;
254 virtual wchar_t do_toupper(
wchar_t __c)
const;
255 virtual const wchar_t* do_toupper(
wchar_t*,
const wchar_t*)
const;
256 virtual wchar_t do_tolower(
wchar_t c)
const;
257 virtual const wchar_t* do_tolower(
wchar_t*,
const wchar_t*)
const;
261 : _M_ctype(__ctype) {}
#define _STLP_STATIC_CONSTANT(__type, __assignment)
bool operator()(char __c)
const char * widen(const char *__low, const char *__high, char *__to) const
ctype_byname< char > _Self
const wchar_t * narrow(const wchar_t *__low, const wchar_t *__high, char __dfault, char *__to) const
ctype_byname< wchar_t > _Self
ctype_byname(_Locale_ctype *__ctype)
bool is(mask __m, wchar_t __c) const
void operator=(const _Locale_impl &)
static _STLP_STATIC_DECLSPEC locale::id id
const wchar_t *() toupper(wchar_t *__low, const wchar_t *__high) const
const mask * _M_ctype_table
const char *() toupper(char *__low, const char *__high) const
char narrow(wchar_t __c, char __dfault) const
const wchar_t *() tolower(wchar_t *__low, const wchar_t *__high) const
const wchar_t * is(const wchar_t *__low, const wchar_t *__high, mask *__vec) const
static _STLP_STATIC_DECLSPEC locale::id id
const wchar_t * scan_not(mask __m, const wchar_t *__low, const wchar_t *__high) const
const char * is(const char *__low, const char *__high, mask *__vec) const
char narrow(char __c, char __dfault) const
const char * widen(const char *__low, const char *__high, wchar_t *__to) const
const wchar_t * scan_is(mask __m, const wchar_t *__low, const wchar_t *__high) const
const mask * table() const _STLP_NOTHROW
#define _STLP_CLASS_DECLSPEC
#define _STLP_TEMPLATE_NULL
char widen(char __c) const
ctype_byname(_Locale_ctype *__ctype)
static void print(LPPRINTDLGW pd, LPWSTR wszFileName)
#define _STLP_END_NAMESPACE
wchar_t widen(char __c) const
bool is(mask __m, char __c) const
GLclampf GLclampf GLclampf alpha
const char *() tolower(char *__low, const char *__high) const
#define _STLP_BEGIN_NAMESPACE
#define _STLP_STATIC_DECLSPEC
const char * narrow(const char *__low, const char *__high, char __dfault, char *__to) const