inlib
1.2.0
|
00001 // Copyright (C) 2010, Guy Barrand. All rights reserved. 00002 // See the file inlib.license for terms. 00003 00004 #ifndef inlib_ntu_saida 00005 #define inlib_ntu_saida 00006 00007 #include "../typedefs" 00008 00009 #include <string> 00010 #include <vector> 00011 00012 namespace inlib { 00013 00017 // AIDA expected type strings are : 00018 // char,short,int,float,double 00019 // byte,boolean,string,long(for int64) 00020 // double[] 00021 00022 inline const std::string& s_aida_type(char) { 00023 static const std::string s_v("char"); 00024 return s_v; 00025 } 00026 inline const std::string& s_aida_type(short) { 00027 static const std::string s_v("short"); 00028 return s_v; 00029 } 00030 inline const std::string& s_aida_type(int) { 00031 static const std::string s_v("int"); 00032 return s_v; 00033 } 00034 inline const std::string& s_aida_type(float) { 00035 static const std::string s_v("float"); 00036 return s_v; 00037 } 00038 inline const std::string& s_aida_type(double) { 00039 static const std::string s_v("double"); 00040 return s_v; 00041 } 00042 00045 inline const std::string& s_aida_type(unsigned char) { 00046 static const std::string s_v("byte"); 00047 return s_v; 00048 } 00049 00050 inline const std::string& s_aida_type(bool) { 00051 static const std::string s_v("boolean"); 00052 return s_v; 00053 } 00054 inline const std::string& s_aida_type(const std::string&) { 00055 static const std::string s_v("string"); 00056 return s_v; 00057 } 00058 inline const std::string& s_aida_type(int64) { 00059 static const std::string s_v("long"); 00060 return s_v; 00061 } 00062 inline const std::string& s_aida_type(const std::vector<double>&) { 00063 static const std::string s_v("double[]"); 00064 return s_v; 00065 } 00066 00067 inline const std::string& s_aida_type_ituple() { 00068 static const std::string s_v("ITuple"); 00069 return s_v; 00070 } 00071 00075 inline const std::string& s_aida_type(unsigned short) { 00076 static const std::string s_v("ushort"); 00077 return s_v; 00078 } 00079 inline const std::string& s_aida_type(unsigned int) { 00080 static const std::string s_v("uint"); 00081 return s_v; 00082 } 00083 inline const std::string& s_aida_type(uint64) { 00084 static const std::string s_v("ulong"); 00085 return s_v; 00086 } 00087 00088 } 00089 00090 #endif