CPrimitiveDataType.h
Go to the documentation of this file.00001
00002 #ifndef CPrimitiveDataType_H
00003 #define CPrimitiveDataType_H
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef __cplusplus
00040 #error This is a C++ include file and cannot be used from plain C
00041 #endif
00042
00043 #include <iostream>
00044 #include <string>
00045 #include <vector>
00049 #ifndef WITHOUT_ACS
00050 #include <almaEnumerations_IFC.h>
00051 #else
00052
00053
00054 namespace PrimitiveDataTypeMod
00055 {
00058
00059 const char *const revision = "-1";
00060 const int version = 1;
00061
00062 enum PrimitiveDataType
00063 {
00064 INT16_TYPE
00065 ,
00066 INT32_TYPE
00067 ,
00068 INT64_TYPE
00069 ,
00070 FLOAT32_TYPE
00071 ,
00072 FLOAT64_TYPE
00074 };
00075 typedef PrimitiveDataType &PrimitiveDataType_out;
00076 }
00077 #endif
00078
00079 namespace PrimitiveDataTypeMod {
00080 std::ostream & operator << ( std::ostream & out, const PrimitiveDataType& value);
00081 std::istream & operator >> ( std::istream & in , PrimitiveDataType& value );
00082 }
00083
00088 class CPrimitiveDataType {
00089 public:
00090
00095 static const std::string& sINT16_TYPE;
00097 static const std::string& sINT32_TYPE;
00099 static const std::string& sINT64_TYPE;
00101 static const std::string& sFLOAT32_TYPE;
00103 static const std::string& sFLOAT64_TYPE;
00110 static int version() ;
00111
00112
00118 static std::string revision() ;
00119
00120
00125 static unsigned int size() ;
00126
00127
00133 static std::string name(const PrimitiveDataTypeMod::PrimitiveDataType& e);
00134
00138 static std::string toString(const PrimitiveDataTypeMod::PrimitiveDataType& f) { return name(f); }
00139
00145 static const std::vector<std::string> names();
00146
00147
00148
00149 static PrimitiveDataTypeMod::PrimitiveDataType newPrimitiveDataType(const std::string& name);
00150
00156 static PrimitiveDataTypeMod::PrimitiveDataType literal(const std::string& name);
00157
00163 static PrimitiveDataTypeMod::PrimitiveDataType from_int(unsigned int i);
00164
00165
00166 private:
00167
00168 CPrimitiveDataType();
00169 CPrimitiveDataType(const CPrimitiveDataType&);
00170 CPrimitiveDataType& operator=(const CPrimitiveDataType&);
00171
00172 static std::string badString(const std::string& name) ;
00173 static std::string badInt(unsigned int i) ;
00174
00175 };
00176
00177 #endif