g4tools  5.4.0
charmanip
Go to the documentation of this file.
1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
2 // See the file tools.license for terms.
3 
4 #ifndef tools_charmanip
5 #define tools_charmanip
6 
7 namespace tools {
8 
9 // some char ASCII code :
10 // \0 : 0
11 // \n = LF : 10
12 // \r = CR : 13
13 // \t = HT : 9
14 // , : 44
15 
16 inline bool is_upper(char a_char) {
17  // do it myself: due to problem with ctype.h and
18  // isxxx macros on different platforms.
19  switch(a_char) {
20  case 'A':return true;
21  case 'B':return true;
22  case 'C':return true;
23  case 'D':return true;
24  case 'E':return true;
25  case 'F':return true;
26  case 'G':return true;
27  case 'H':return true;
28  case 'I':return true;
29  case 'J':return true;
30  case 'K':return true;
31  case 'L':return true;
32  case 'M':return true;
33  case 'N':return true;
34  case 'O':return true;
35  case 'P':return true;
36  case 'Q':return true;
37  case 'R':return true;
38  case 'S':return true;
39  case 'T':return true;
40  case 'U':return true;
41  case 'V':return true;
42  case 'W':return true;
43  case 'X':return true;
44  case 'Y':return true;
45  case 'Z':return true;
46  default:return false;
47  }
48  return false;
49 }
50 
51 inline bool is_lower(char a_char) {
52  switch(a_char) {
53  case 'a':return true;
54  case 'b':return true;
55  case 'c':return true;
56  case 'd':return true;
57  case 'e':return true;
58  case 'f':return true;
59  case 'g':return true;
60  case 'h':return true;
61  case 'i':return true;
62  case 'j':return true;
63  case 'k':return true;
64  case 'l':return true;
65  case 'm':return true;
66  case 'n':return true;
67  case 'o':return true;
68  case 'p':return true;
69  case 'q':return true;
70  case 'r':return true;
71  case 's':return true;
72  case 't':return true;
73  case 'u':return true;
74  case 'v':return true;
75  case 'w':return true;
76  case 'x':return true;
77  case 'y':return true;
78  case 'z':return true;
79  default:return false;
80  }
81  return false;
82 }
83 
84 inline bool is_digit(char a_char) {
85  switch(a_char){
86  case '0':return true;
87  case '1':return true;
88  case '2':return true;
89  case '3':return true;
90  case '4':return true;
91  case '5':return true;
92  case '6':return true;
93  case '7':return true;
94  case '8':return true;
95  case '9':return true;
96  default:return false;
97  }
98  return false;
99 }
100 
101 inline bool is_letter(char a_char) {
102  return (is_lower(a_char)||is_upper(a_char)) ? true : false;
103 }
104 
105 //inline bool is_alpha(char a_char) {
106 // return (is_lower(a_char)||is_upper(a_char)||is_digit(a_char)) ? true : false;
107 //}
108 
109 inline bool is_printable(char a_char) {
110  if(is_lower(a_char)||is_upper(a_char)||is_digit(a_char)) return true;
111  switch(a_char) {
112  case ' ':return true;
113  case '!':return true;
114  case '"':return true;
115  case '#':return true;
116  case '$':return true;
117  case '%':return true;
118  case '&':return true;
119  case '\'':return true;
120  case '(':return true;
121  case ')':return true;
122  case '*':return true;
123  case '+':return true;
124  case ',':return true;
125  case '-':return true;
126  case '.':return true;
127  case '/':return true;
128  case ':':return true;
129  case ';':return true;
130  case '<':return true;
131  case '=':return true;
132  case '>':return true;
133  case '?':return true;
134  case '@':return true;
135  case '[':return true;
136  case '\\':return true;
137  case ']':return true;
138  case '^':return true;
139  case '_':return true;
140  case '`':return true;
141  case '{':return true;
142  case '|':return true;
143  case '}':return true;
144  case '~':return true;
145  default:return false;
146  }
147  return false;
148 }
149 
150 }
151 
152 #endif
tools::is_lower
bool is_lower(char a_char)
Definition: charmanip:51
tools::is_letter
bool is_letter(char a_char)
Definition: charmanip:101
tools::is_upper
bool is_upper(char a_char)
Definition: charmanip:16
tools::is_digit
bool is_digit(char a_char)
Definition: charmanip:84
tools
inlined C code : ///////////////////////////////////
Definition: aida_ntuple:26
tools::is_printable
bool is_printable(char a_char)
Definition: charmanip:109