CReceiverSideband.h
Go to the documentation of this file.00001
00002 #ifndef CReceiverSideband_H
00003 #define CReceiverSideband_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 ReceiverSidebandMod
00055 {
00058
00059 const char *const revision = "-1";
00060 const int version = 1;
00061
00062 enum ReceiverSideband
00063 {
00064 NOSB
00065 ,
00066 DSB
00067 ,
00068 SSB
00069 ,
00070 TSB
00072 };
00073 typedef ReceiverSideband &ReceiverSideband_out;
00074 }
00075 #endif
00076
00077 namespace ReceiverSidebandMod {
00078 std::ostream & operator << ( std::ostream & out, const ReceiverSideband& value);
00079 std::istream & operator >> ( std::istream & in , ReceiverSideband& value );
00080 }
00081
00086 class CReceiverSideband {
00087 public:
00088
00093 static const std::string& sNOSB;
00095 static const std::string& sDSB;
00097 static const std::string& sSSB;
00099 static const std::string& sTSB;
00106 static int version() ;
00107
00108
00114 static std::string revision() ;
00115
00116
00121 static unsigned int size() ;
00122
00123
00129 static std::string name(const ReceiverSidebandMod::ReceiverSideband& e);
00130
00134 static std::string toString(const ReceiverSidebandMod::ReceiverSideband& f) { return name(f); }
00135
00141 static const std::vector<std::string> names();
00142
00143
00144
00145 static ReceiverSidebandMod::ReceiverSideband newReceiverSideband(const std::string& name);
00146
00152 static ReceiverSidebandMod::ReceiverSideband literal(const std::string& name);
00153
00159 static ReceiverSidebandMod::ReceiverSideband from_int(unsigned int i);
00160
00161
00162 private:
00163
00164 CReceiverSideband();
00165 CReceiverSideband(const CReceiverSideband&);
00166 CReceiverSideband& operator=(const CReceiverSideband&);
00167
00168 static std::string badString(const std::string& name) ;
00169 static std::string badInt(unsigned int i) ;
00170
00171 };
00172
00173 #endif