CAxisName.h
Go to the documentation of this file.00001
00002 #ifndef CAxisName_H
00003 #define CAxisName_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 AxisNameMod
00055 {
00058
00059 const char *const revision = "-1";
00060 const int version = 1;
00061
00062 enum AxisName
00063 {
00064 TIM
00065 ,
00066 BAL
00067 ,
00068 ANT
00069 ,
00070 BAB
00071 ,
00072 SPW
00073 ,
00074 SIB
00075 ,
00076 SUB
00077 ,
00078 BIN
00079 ,
00080 APC
00081 ,
00082 SPP
00083 ,
00084 POL
00085 ,
00086 STO
00087 ,
00088 HOL
00090 };
00091 typedef AxisName &AxisName_out;
00092 }
00093 #endif
00094
00095 namespace AxisNameMod {
00096 std::ostream & operator << ( std::ostream & out, const AxisName& value);
00097 std::istream & operator >> ( std::istream & in , AxisName& value );
00098 }
00099
00104 class CAxisName {
00105 public:
00106
00111 static const std::string& sTIM;
00113 static const std::string& sBAL;
00115 static const std::string& sANT;
00117 static const std::string& sBAB;
00119 static const std::string& sSPW;
00121 static const std::string& sSIB;
00123 static const std::string& sSUB;
00125 static const std::string& sBIN;
00127 static const std::string& sAPC;
00129 static const std::string& sSPP;
00131 static const std::string& sPOL;
00133 static const std::string& sSTO;
00135 static const std::string& sHOL;
00142 static int version() ;
00143
00144
00150 static std::string revision() ;
00151
00152
00157 static unsigned int size() ;
00158
00159
00165 static std::string name(const AxisNameMod::AxisName& e);
00166
00170 static std::string toString(const AxisNameMod::AxisName& f) { return name(f); }
00171
00177 static const std::vector<std::string> names();
00178
00179
00180
00181 static AxisNameMod::AxisName newAxisName(const std::string& name);
00182
00188 static AxisNameMod::AxisName literal(const std::string& name);
00189
00195 static AxisNameMod::AxisName from_int(unsigned int i);
00196
00197
00198 private:
00199
00200 CAxisName();
00201 CAxisName(const CAxisName&);
00202 CAxisName& operator=(const CAxisName&);
00203
00204 static std::string badString(const std::string& name) ;
00205 static std::string badInt(unsigned int i) ;
00206
00207 };
00208
00209 #endif