Line data Source code
1 : 2 : /* 3 : * ALMA - Atacama Large Millimeter Array 4 : * (c) European Southern Observatory, 2002 5 : * (c) Associated Universities Inc., 2002 6 : * Copyright by ESO (in the framework of the ALMA collaboration), 7 : * Copyright by AUI (in the framework of the ALMA collaboration), 8 : * All rights reserved. 9 : * 10 : * This library is free software; you can redistribute it and/or 11 : * modify it under the terms of the GNU Lesser General Public 12 : * License as published by the Free software Foundation; either 13 : * version 2.1 of the License, or (at your option) any later version. 14 : * 15 : * This library is distributed in the hope that it will be useful, 16 : * but WITHOUT ANY WARRANTY, without even the implied warranty of 17 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 : * Lesser General Public License for more details. 19 : * 20 : * You should have received a copy of the GNU Lesser General Public 21 : * License along with this library; if not, write to the Free Software 22 : * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 23 : * MA 02111-1307 USA 24 : * 25 : * ///////////////////////////////////////////////////////////////// 26 : * // WARNING! DO NOT MODIFY THIS FILE! // 27 : * // --------------------------------------------------------- // 28 : * // | This is generated code! Do not modify this file. | // 29 : * // | Any changes will be lost when the file is re-generated. | // 30 : * // --------------------------------------------------------- // 31 : * ///////////////////////////////////////////////////////////////// 32 : * 33 : * File CAxisName.cpp 34 : */ 35 : #include <sstream> 36 : #include <alma/Enumerations/CAxisName.h> 37 : #include <string> 38 : using namespace std; 39 : 40 0 : int CAxisName::version() { 41 0 : return AxisNameMod::version; 42 : } 43 : 44 0 : string CAxisName::revision () { 45 0 : return AxisNameMod::revision; 46 : } 47 : 48 0 : unsigned int CAxisName::size() { 49 0 : return 13; 50 : } 51 : 52 : 53 : const std::string& CAxisName::sTIM = "TIM"; 54 : 55 : const std::string& CAxisName::sBAL = "BAL"; 56 : 57 : const std::string& CAxisName::sANT = "ANT"; 58 : 59 : const std::string& CAxisName::sBAB = "BAB"; 60 : 61 : const std::string& CAxisName::sSPW = "SPW"; 62 : 63 : const std::string& CAxisName::sSIB = "SIB"; 64 : 65 : const std::string& CAxisName::sSUB = "SUB"; 66 : 67 : const std::string& CAxisName::sBIN = "BIN"; 68 : 69 : const std::string& CAxisName::sAPC = "APC"; 70 : 71 : const std::string& CAxisName::sSPP = "SPP"; 72 : 73 : const std::string& CAxisName::sPOL = "POL"; 74 : 75 : const std::string& CAxisName::sSTO = "STO"; 76 : 77 : const std::string& CAxisName::sHOL = "HOL"; 78 : 79 0 : const std::vector<std::string> CAxisName::names() { 80 0 : std::vector<std::string> enumSet; 81 : 82 0 : enumSet.insert(enumSet.end(), CAxisName::sTIM); 83 : 84 0 : enumSet.insert(enumSet.end(), CAxisName::sBAL); 85 : 86 0 : enumSet.insert(enumSet.end(), CAxisName::sANT); 87 : 88 0 : enumSet.insert(enumSet.end(), CAxisName::sBAB); 89 : 90 0 : enumSet.insert(enumSet.end(), CAxisName::sSPW); 91 : 92 0 : enumSet.insert(enumSet.end(), CAxisName::sSIB); 93 : 94 0 : enumSet.insert(enumSet.end(), CAxisName::sSUB); 95 : 96 0 : enumSet.insert(enumSet.end(), CAxisName::sBIN); 97 : 98 0 : enumSet.insert(enumSet.end(), CAxisName::sAPC); 99 : 100 0 : enumSet.insert(enumSet.end(), CAxisName::sSPP); 101 : 102 0 : enumSet.insert(enumSet.end(), CAxisName::sPOL); 103 : 104 0 : enumSet.insert(enumSet.end(), CAxisName::sSTO); 105 : 106 0 : enumSet.insert(enumSet.end(), CAxisName::sHOL); 107 : 108 0 : return enumSet; 109 : } 110 : 111 6320 : std::string CAxisName::name(const AxisNameMod::AxisName& f) { 112 6320 : switch (f) { 113 : 114 887 : case AxisNameMod::TIM: 115 887 : return CAxisName::sTIM; 116 : 117 644 : case AxisNameMod::BAL: 118 644 : return CAxisName::sBAL; 119 : 120 1107 : case AxisNameMod::ANT: 121 1107 : return CAxisName::sANT; 122 : 123 732 : case AxisNameMod::BAB: 124 732 : return CAxisName::sBAB; 125 : 126 0 : case AxisNameMod::SPW: 127 0 : return CAxisName::sSPW; 128 : 129 0 : case AxisNameMod::SIB: 130 0 : return CAxisName::sSIB; 131 : 132 0 : case AxisNameMod::SUB: 133 0 : return CAxisName::sSUB; 134 : 135 0 : case AxisNameMod::BIN: 136 0 : return CAxisName::sBIN; 137 : 138 0 : case AxisNameMod::APC: 139 0 : return CAxisName::sAPC; 140 : 141 1109 : case AxisNameMod::SPP: 142 1109 : return CAxisName::sSPP; 143 : 144 1841 : case AxisNameMod::POL: 145 1841 : return CAxisName::sPOL; 146 : 147 0 : case AxisNameMod::STO: 148 0 : return CAxisName::sSTO; 149 : 150 0 : case AxisNameMod::HOL: 151 0 : return CAxisName::sHOL; 152 : 153 : } 154 : // Impossible siutation but....who knows with C++ enums 155 0 : throw badInt((int) f); 156 : } 157 : 158 858 : AxisNameMod::AxisName CAxisName::newAxisName(const std::string& name) { 159 : 160 858 : if (name == CAxisName::sTIM) { 161 75 : return AxisNameMod::TIM; 162 : } 163 : 164 783 : if (name == CAxisName::sBAL) { 165 93 : return AxisNameMod::BAL; 166 : } 167 : 168 690 : if (name == CAxisName::sANT) { 169 75 : return AxisNameMod::ANT; 170 : } 171 : 172 615 : if (name == CAxisName::sBAB) { 173 93 : return AxisNameMod::BAB; 174 : } 175 : 176 522 : if (name == CAxisName::sSPW) { 177 93 : return AxisNameMod::SPW; 178 : } 179 : 180 429 : if (name == CAxisName::sSIB) { 181 0 : return AxisNameMod::SIB; 182 : } 183 : 184 429 : if (name == CAxisName::sSUB) { 185 72 : return AxisNameMod::SUB; 186 : } 187 : 188 357 : if (name == CAxisName::sBIN) { 189 93 : return AxisNameMod::BIN; 190 : } 191 : 192 264 : if (name == CAxisName::sAPC) { 193 72 : return AxisNameMod::APC; 194 : } 195 : 196 192 : if (name == CAxisName::sSPP) { 197 96 : return AxisNameMod::SPP; 198 : } 199 : 200 96 : if (name == CAxisName::sPOL) { 201 75 : return AxisNameMod::POL; 202 : } 203 : 204 21 : if (name == CAxisName::sSTO) { 205 21 : return AxisNameMod::STO; 206 : } 207 : 208 0 : if (name == CAxisName::sHOL) { 209 0 : return AxisNameMod::HOL; 210 : } 211 : 212 0 : throw badString(name); 213 : } 214 : 215 34959 : AxisNameMod::AxisName CAxisName::literal(const std::string& name) { 216 : 217 34959 : if (name == CAxisName::sTIM) { 218 1645 : return AxisNameMod::TIM; 219 : } 220 : 221 33314 : if (name == CAxisName::sBAL) { 222 3216 : return AxisNameMod::BAL; 223 : } 224 : 225 30098 : if (name == CAxisName::sANT) { 226 9355 : return AxisNameMod::ANT; 227 : } 228 : 229 20743 : if (name == CAxisName::sBAB) { 230 8602 : return AxisNameMod::BAB; 231 : } 232 : 233 12141 : if (name == CAxisName::sSPW) { 234 295 : return AxisNameMod::SPW; 235 : } 236 : 237 11846 : if (name == CAxisName::sSIB) { 238 0 : return AxisNameMod::SIB; 239 : } 240 : 241 11846 : if (name == CAxisName::sSUB) { 242 0 : return AxisNameMod::SUB; 243 : } 244 : 245 11846 : if (name == CAxisName::sBIN) { 246 311 : return AxisNameMod::BIN; 247 : } 248 : 249 11535 : if (name == CAxisName::sAPC) { 250 0 : return AxisNameMod::APC; 251 : } 252 : 253 11535 : if (name == CAxisName::sSPP) { 254 2785 : return AxisNameMod::SPP; 255 : } 256 : 257 8750 : if (name == CAxisName::sPOL) { 258 8455 : return AxisNameMod::POL; 259 : } 260 : 261 295 : if (name == CAxisName::sSTO) { 262 295 : return AxisNameMod::STO; 263 : } 264 : 265 0 : if (name == CAxisName::sHOL) { 266 0 : return AxisNameMod::HOL; 267 : } 268 : 269 0 : throw badString(name); 270 : } 271 : 272 0 : AxisNameMod::AxisName CAxisName::from_int(unsigned int i) { 273 0 : vector<string> names_ = names(); 274 0 : if (i >= names_.size()) throw badInt(i); 275 0 : return newAxisName(names_.at(i)); 276 : } 277 : 278 0 : string CAxisName::badString(const string& name) { 279 0 : return "'"+name+"' does not correspond to any literal in the enumeration 'AxisName'."; 280 : } 281 : 282 0 : string CAxisName::badInt(unsigned int i) { 283 0 : ostringstream oss ; 284 0 : oss << "'" << i << "' is out of range for the enumeration 'AxisName'."; 285 0 : return oss.str(); 286 : } 287 : 288 : namespace AxisNameMod { 289 0 : std::ostream & operator << ( std::ostream & out, const AxisName& value) { 290 0 : out << CAxisName::name(value); 291 0 : return out; 292 : } 293 : 294 0 : std::istream & operator >> ( std::istream & in , AxisName& value ) { 295 0 : in.clear(); 296 0 : string s ; 297 0 : in >> s; 298 : try { 299 0 : value = CAxisName::literal(s); 300 : } 301 0 : catch (string & m) { 302 0 : in.setstate(ios::failbit); 303 : } 304 0 : return in; 305 : } 306 : } 307 :