CPositionReferenceCode.h
Go to the documentation of this file.00001
00002 #ifndef CPositionReferenceCode_H
00003 #define CPositionReferenceCode_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 PositionReferenceCodeMod
00055 {
00058
00059
00060 const char *const revision = "-1";
00061 const int version = 1;
00062
00063 enum PositionReferenceCode
00064 {
00065 ITRF
00066 ,
00067 WGS84
00068 ,
00069 SITE
00070 ,
00071 STATION
00072 ,
00073 YOKE
00074 ,
00075 REFLECTOR
00077 };
00078 typedef PositionReferenceCode &PositionReferenceCode_out;
00079 }
00080 #endif
00081
00082 namespace PositionReferenceCodeMod {
00083 std::ostream & operator << ( std::ostream & out, const PositionReferenceCode& value);
00084 std::istream & operator >> ( std::istream & in , PositionReferenceCode& value );
00085 }
00086
00091 class CPositionReferenceCode {
00092 public:
00093
00098 static const std::string& sITRF;
00100 static const std::string& sWGS84;
00102 static const std::string& sSITE;
00104 static const std::string& sSTATION;
00106 static const std::string& sYOKE;
00108 static const std::string& sREFLECTOR;
00115 static int version() ;
00116
00117
00123 static std::string revision() ;
00124
00125
00130 static unsigned int size() ;
00131
00132
00138 static std::string name(const PositionReferenceCodeMod::PositionReferenceCode& e);
00139
00143 static std::string toString(const PositionReferenceCodeMod::PositionReferenceCode& f) { return name(f); }
00144
00150 static const std::vector<std::string> names();
00151
00152
00153
00154 static PositionReferenceCodeMod::PositionReferenceCode newPositionReferenceCode(const std::string& name);
00155
00161 static PositionReferenceCodeMod::PositionReferenceCode literal(const std::string& name);
00162
00168 static PositionReferenceCodeMod::PositionReferenceCode from_int(unsigned int i);
00169
00170
00171 private:
00172
00173 CPositionReferenceCode();
00174 CPositionReferenceCode(const CPositionReferenceCode&);
00175 CPositionReferenceCode& operator=(const CPositionReferenceCode&);
00176
00177 static std::string badString(const std::string& name) ;
00178 static std::string badInt(unsigned int i) ;
00179
00180 };
00181
00182 #endif