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 CAtmPhaseCorrection.cpp 34 : */ 35 : #include <sstream> 36 : #include <alma/Enumerations/CAtmPhaseCorrection.h> 37 : #include <string> 38 : using namespace std; 39 : 40 0 : int CAtmPhaseCorrection::version() { 41 0 : return AtmPhaseCorrectionMod::version; 42 : } 43 : 44 0 : string CAtmPhaseCorrection::revision () { 45 0 : return AtmPhaseCorrectionMod::revision; 46 : } 47 : 48 0 : unsigned int CAtmPhaseCorrection::size() { 49 0 : return 2; 50 : } 51 : 52 : 53 : const std::string& CAtmPhaseCorrection::sAP_UNCORRECTED = "AP_UNCORRECTED"; 54 : 55 : const std::string& CAtmPhaseCorrection::sAP_CORRECTED = "AP_CORRECTED"; 56 : 57 130 : const std::vector<std::string> CAtmPhaseCorrection::names() { 58 130 : std::vector<std::string> enumSet; 59 : 60 130 : enumSet.insert(enumSet.end(), CAtmPhaseCorrection::sAP_UNCORRECTED); 61 : 62 130 : enumSet.insert(enumSet.end(), CAtmPhaseCorrection::sAP_CORRECTED); 63 : 64 130 : return enumSet; 65 0 : } 66 : 67 914 : std::string CAtmPhaseCorrection::name(const AtmPhaseCorrectionMod::AtmPhaseCorrection& f) { 68 914 : switch (f) { 69 : 70 914 : case AtmPhaseCorrectionMod::AP_UNCORRECTED: 71 914 : return CAtmPhaseCorrection::sAP_UNCORRECTED; 72 : 73 0 : case AtmPhaseCorrectionMod::AP_CORRECTED: 74 0 : return CAtmPhaseCorrection::sAP_CORRECTED; 75 : 76 : } 77 : // Impossible siutation but....who knows with C++ enums 78 0 : throw badInt((int) f); 79 : } 80 : 81 562 : AtmPhaseCorrectionMod::AtmPhaseCorrection CAtmPhaseCorrection::newAtmPhaseCorrection(const std::string& name) { 82 : 83 562 : if (name == CAtmPhaseCorrection::sAP_UNCORRECTED) { 84 546 : return AtmPhaseCorrectionMod::AP_UNCORRECTED; 85 : } 86 : 87 16 : if (name == CAtmPhaseCorrection::sAP_CORRECTED) { 88 16 : return AtmPhaseCorrectionMod::AP_CORRECTED; 89 : } 90 : 91 0 : throw badString(name); 92 : } 93 : 94 869 : AtmPhaseCorrectionMod::AtmPhaseCorrection CAtmPhaseCorrection::literal(const std::string& name) { 95 : 96 869 : if (name == CAtmPhaseCorrection::sAP_UNCORRECTED) { 97 869 : return AtmPhaseCorrectionMod::AP_UNCORRECTED; 98 : } 99 : 100 0 : if (name == CAtmPhaseCorrection::sAP_CORRECTED) { 101 0 : return AtmPhaseCorrectionMod::AP_CORRECTED; 102 : } 103 : 104 0 : throw badString(name); 105 : } 106 : 107 130 : AtmPhaseCorrectionMod::AtmPhaseCorrection CAtmPhaseCorrection::from_int(unsigned int i) { 108 130 : vector<string> names_ = names(); 109 130 : if (i >= names_.size()) throw badInt(i); 110 260 : return newAtmPhaseCorrection(names_.at(i)); 111 130 : } 112 : 113 0 : string CAtmPhaseCorrection::badString(const string& name) { 114 0 : return "'"+name+"' does not correspond to any literal in the enumeration 'AtmPhaseCorrection'."; 115 : } 116 : 117 0 : string CAtmPhaseCorrection::badInt(unsigned int i) { 118 0 : ostringstream oss ; 119 0 : oss << "'" << i << "' is out of range for the enumeration 'AtmPhaseCorrection'."; 120 0 : return oss.str(); 121 0 : } 122 : 123 : namespace AtmPhaseCorrectionMod { 124 0 : std::ostream & operator << ( std::ostream & out, const AtmPhaseCorrection& value) { 125 0 : out << CAtmPhaseCorrection::name(value); 126 0 : return out; 127 : } 128 : 129 0 : std::istream & operator >> ( std::istream & in , AtmPhaseCorrection& value ) { 130 0 : in.clear(); 131 0 : string s ; 132 0 : in >> s; 133 : try { 134 0 : value = CAtmPhaseCorrection::literal(s); 135 : } 136 0 : catch (string & m) { 137 0 : in.setstate(ios::failbit); 138 0 : } 139 0 : return in; 140 0 : } 141 : } 142 :