Import Geant4 9.5.0 source tree
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
// Copyright (C) 2010, Guy Barrand. All rights reserved.
|
||||
// See the file tools.license for terms.
|
||||
|
||||
#ifndef tools_charmanip
|
||||
#define tools_charmanip
|
||||
|
||||
namespace tools {
|
||||
|
||||
// some char ASCII code :
|
||||
// \0 : 0
|
||||
// \n = LF : 10
|
||||
// \r = CR : 13
|
||||
// \t = HT : 9
|
||||
// , : 44
|
||||
|
||||
inline bool is_upper(char a_char) {
|
||||
// do it myself: due to problem with ctype.h and
|
||||
// isxxx macros on different platforms.
|
||||
switch(a_char) {
|
||||
case 'A':return true;
|
||||
case 'B':return true;
|
||||
case 'C':return true;
|
||||
case 'D':return true;
|
||||
case 'E':return true;
|
||||
case 'F':return true;
|
||||
case 'G':return true;
|
||||
case 'H':return true;
|
||||
case 'I':return true;
|
||||
case 'J':return true;
|
||||
case 'K':return true;
|
||||
case 'L':return true;
|
||||
case 'M':return true;
|
||||
case 'N':return true;
|
||||
case 'O':return true;
|
||||
case 'P':return true;
|
||||
case 'Q':return true;
|
||||
case 'R':return true;
|
||||
case 'S':return true;
|
||||
case 'T':return true;
|
||||
case 'U':return true;
|
||||
case 'V':return true;
|
||||
case 'W':return true;
|
||||
case 'X':return true;
|
||||
case 'Y':return true;
|
||||
case 'Z':return true;
|
||||
default:return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
inline bool is_lower(char a_char) {
|
||||
switch(a_char) {
|
||||
case 'a':return true;
|
||||
case 'b':return true;
|
||||
case 'c':return true;
|
||||
case 'd':return true;
|
||||
case 'e':return true;
|
||||
case 'f':return true;
|
||||
case 'g':return true;
|
||||
case 'h':return true;
|
||||
case 'i':return true;
|
||||
case 'j':return true;
|
||||
case 'k':return true;
|
||||
case 'l':return true;
|
||||
case 'm':return true;
|
||||
case 'n':return true;
|
||||
case 'o':return true;
|
||||
case 'p':return true;
|
||||
case 'q':return true;
|
||||
case 'r':return true;
|
||||
case 's':return true;
|
||||
case 't':return true;
|
||||
case 'u':return true;
|
||||
case 'v':return true;
|
||||
case 'w':return true;
|
||||
case 'x':return true;
|
||||
case 'y':return true;
|
||||
case 'z':return true;
|
||||
default:return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
inline bool is_digit(char a_char) {
|
||||
switch(a_char){
|
||||
case '0':return true;
|
||||
case '1':return true;
|
||||
case '2':return true;
|
||||
case '3':return true;
|
||||
case '4':return true;
|
||||
case '5':return true;
|
||||
case '6':return true;
|
||||
case '7':return true;
|
||||
case '8':return true;
|
||||
case '9':return true;
|
||||
default:return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
inline bool is_letter(char a_char) {
|
||||
return (is_lower(a_char)||is_upper(a_char)) ? true : false;
|
||||
}
|
||||
|
||||
//inline bool is_alpha(char a_char) {
|
||||
// return (is_lower(a_char)||is_upper(a_char)||is_digit(a_char)) ? true : false;
|
||||
//}
|
||||
|
||||
inline bool is_printable(char a_char) {
|
||||
if(is_lower(a_char)||is_upper(a_char)||is_digit(a_char)) return true;
|
||||
switch(a_char) {
|
||||
case ' ':return true;
|
||||
case '!':return true;
|
||||
case '"':return true;
|
||||
case '#':return true;
|
||||
case '$':return true;
|
||||
case '%':return true;
|
||||
case '&':return true;
|
||||
case '\'':return true;
|
||||
case '(':return true;
|
||||
case ')':return true;
|
||||
case '*':return true;
|
||||
case '+':return true;
|
||||
case ',':return true;
|
||||
case '-':return true;
|
||||
case '.':return true;
|
||||
case '/':return true;
|
||||
case ':':return true;
|
||||
case ';':return true;
|
||||
case '<':return true;
|
||||
case '=':return true;
|
||||
case '>':return true;
|
||||
case '?':return true;
|
||||
case '@':return true;
|
||||
case '[':return true;
|
||||
case '\\':return true;
|
||||
case ']':return true;
|
||||
case '^':return true;
|
||||
case '_':return true;
|
||||
case '`':return true;
|
||||
case '{':return true;
|
||||
case '|':return true;
|
||||
case '}':return true;
|
||||
case '~':return true;
|
||||
default:return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user