5 typedef unsigned int size_t;
19 template <
class T >
bool is_between ( T aChar , T aStart , T aStop );
23 template <
class T >
bool is_char_a_digit ( T aChar ) {
return is_between <T> ( aChar ,
'0' ,
'9' ); }
26 template <
class T >
bool is_char_ucase ( T aChar ) {
return is_between <T> ( aChar ,
'A' ,
'Z' ); }
29 template <
class T >
bool is_char_lcase ( T aChar ) {
return is_between <T> ( aChar ,
'a' ,
'z' ); }
35 template <
class T > T
u_case ( T aChar ) {
return (
is_char_lcase ( aChar ) )? ( aChar -
'a' +
'A' ) : aChar; }
38 template <
class T > T
l_case ( T aChar ) {
return (
is_char_ucase ( aChar ) )? ( aChar -
'A' +
'a' ) : aChar; }
42 template <>
inline bool is_between (
char aChar ,
char aStart ,
char aStop )
44 return ( aChar >= aStart && aChar <= aStop );
47 template <>
inline bool is_between (
wchar_t aChar ,
wchar_t aStart ,
wchar_t aStop )
49 return is_between <char>(
50 (char)(0xff & aChar) , (char)(0xff & aStart) , (char)(0xff & aStop) );
53 template <
class T >
bool chr_equal ( T aC1 , T aC2 ,
bool aIsCaseSensitive )
55 return ( aIsCaseSensitive ) ?
59 template <
class T> GUint64_t get_chr_ordinal_code ( T aChar )
63 return (GUint64_t)( aChar - (T)
'0' );
67 return (GUint64_t)( aChar - (T)
'a' ) | (GUint64_t)0xf0;
71 return (GUint64_t)( aChar - (T)
'A' ) | (GUint64_t)0xf00;
75 return (GUint64_t)( aChar ) | (GUint64_t)0xf000;
88 template <
class T >
int chr_compare ( T aC1 , T aC2 ,
bool aIsCaseSensitive )
90 if ( !aIsCaseSensitive )
96 GUint64_t ordinal_code_1 = get_chr_ordinal_code ( aC1 );
97 GUint64_t ordinal_code_2 = get_chr_ordinal_code ( aC2 );
99 if ( ordinal_code_1 < ordinal_code_2 )
103 if ( ordinal_code_1 > ordinal_code_2 )
bool is_char_lcase(T aChar)
returns true if char is a lower case letter.
Definition: g_car_base.h:29
Definition: g.mthread.ThreadSimpleEvent.h:5
T l_case(T aChar)
returns the corresponding lower case char.
Definition: g_car_base.h:38
bool is_char_a_letter(T aChar)
returns true if char is a letter.
Definition: g_car_base.h:32
bool is_between(T aChar, T aStart, T aStop)
returns aStart >= aChar >= aStop.
T u_case(T aChar)
returns the corresponding upper case char.
Definition: g_car_base.h:35
int chr_compare(T aC1, T aC2, bool aIsCaseSensitive)
Compares two chars.
Definition: g_car_base.h:88
bool is_char_a_digit(T aChar)
returns true if char is a digit.
Definition: g_car_base.h:23
bool is_char_ucase(T aChar)
returns true if char is a upper case letter.
Definition: g_car_base.h:26