Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/Geant4/tools/charmanip is written in an unsupported language. File is not indexed.

0001 // Copyright (C) 2010, Guy Barrand. All rights reserved.
0002 // See the file tools.license for terms.
0003 
0004 #ifndef tools_charmanip
0005 #define tools_charmanip
0006 
0007 namespace tools {
0008 
0009 // some char ASCII code :
0010 // \0      : 0
0011 // \n = LF : 10
0012 // \r = CR : 13
0013 // \t = HT : 9
0014 // ,       : 44
0015 
0016 inline bool is_upper(char a_char) {
0017   // do it myself: due to problem with ctype.h and
0018   // isxxx macros on different platforms.
0019   switch(a_char) {
0020     case 'A':return true;
0021     case 'B':return true;
0022     case 'C':return true;
0023     case 'D':return true;
0024     case 'E':return true;
0025     case 'F':return true;
0026     case 'G':return true;
0027     case 'H':return true;
0028     case 'I':return true;
0029     case 'J':return true;
0030     case 'K':return true;
0031     case 'L':return true;
0032     case 'M':return true;
0033     case 'N':return true;
0034     case 'O':return true;
0035     case 'P':return true;
0036     case 'Q':return true;
0037     case 'R':return true;
0038     case 'S':return true;
0039     case 'T':return true;
0040     case 'U':return true;
0041     case 'V':return true;
0042     case 'W':return true;
0043     case 'X':return true;
0044     case 'Y':return true;
0045     case 'Z':return true;
0046     default:return false;
0047   }
0048   return false;
0049 }
0050 
0051 inline bool is_lower(char a_char) {
0052   switch(a_char) {
0053     case 'a':return true;
0054     case 'b':return true;
0055     case 'c':return true;
0056     case 'd':return true;
0057     case 'e':return true;
0058     case 'f':return true;
0059     case 'g':return true;
0060     case 'h':return true;
0061     case 'i':return true;
0062     case 'j':return true;
0063     case 'k':return true;
0064     case 'l':return true;
0065     case 'm':return true;
0066     case 'n':return true;
0067     case 'o':return true;
0068     case 'p':return true;
0069     case 'q':return true;
0070     case 'r':return true;
0071     case 's':return true;
0072     case 't':return true;
0073     case 'u':return true;
0074     case 'v':return true;
0075     case 'w':return true;
0076     case 'x':return true;
0077     case 'y':return true;
0078     case 'z':return true;
0079     default:return false;
0080   }
0081   return false;
0082 }
0083 
0084 inline bool is_digit(char a_char) {
0085   switch(a_char){
0086     case '0':return true;
0087     case '1':return true;
0088     case '2':return true;
0089     case '3':return true;
0090     case '4':return true;
0091     case '5':return true;
0092     case '6':return true;
0093     case '7':return true;
0094     case '8':return true;
0095     case '9':return true;
0096     default:return false;
0097   }
0098   return false;
0099 }
0100 
0101 inline bool is_letter(char a_char) {
0102   return (is_lower(a_char)||is_upper(a_char)) ? true : false;
0103 }
0104 
0105 //inline bool is_alpha(char a_char) {
0106 //  return (is_lower(a_char)||is_upper(a_char)||is_digit(a_char)) ? true : false;
0107 //}
0108 
0109 inline bool is_printable(char a_char) {
0110   if(is_lower(a_char)||is_upper(a_char)||is_digit(a_char)) return true;
0111   switch(a_char) {
0112     case ' ':return true;
0113     case '!':return true;
0114     case '"':return true;
0115     case '#':return true;
0116     case '$':return true;
0117     case '%':return true;
0118     case '&':return true;
0119     case '\'':return true;
0120     case '(':return true;
0121     case ')':return true;
0122     case '*':return true;
0123     case '+':return true;
0124     case ',':return true;
0125     case '-':return true;
0126     case '.':return true;
0127     case '/':return true;
0128     case ':':return true;
0129     case ';':return true;
0130     case '<':return true;
0131     case '=':return true;
0132     case '>':return true;
0133     case '?':return true;
0134     case '@':return true;
0135     case '[':return true;
0136     case '\\':return true;
0137     case ']':return true;
0138     case '^':return true;
0139     case '_':return true;
0140     case '`':return true;
0141     case '{':return true;
0142     case '|':return true;
0143     case '}':return true;
0144     case '~':return true;
0145     default:return false;
0146   }
0147   return false;
0148 }
0149 
0150 }
0151 
0152 #endif