LCOV - code coverage report
Current view: top level - alma/Enumerations - CAxisName.cc (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 60 133 45.1 %
Date: 2024-12-11 20:54:31 Functions: 3 12 25.0 %

          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           0 : }
     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         930 : AxisNameMod::AxisName CAxisName::newAxisName(const std::string& name) {
     159             :                 
     160         930 :     if (name == CAxisName::sTIM) {
     161          81 :         return AxisNameMod::TIM;
     162             :     }
     163             :         
     164         849 :     if (name == CAxisName::sBAL) {
     165         101 :         return AxisNameMod::BAL;
     166             :     }
     167             :         
     168         748 :     if (name == CAxisName::sANT) {
     169          81 :         return AxisNameMod::ANT;
     170             :     }
     171             :         
     172         667 :     if (name == CAxisName::sBAB) {
     173         101 :         return AxisNameMod::BAB;
     174             :     }
     175             :         
     176         566 :     if (name == CAxisName::sSPW) {
     177         101 :         return AxisNameMod::SPW;
     178             :     }
     179             :         
     180         465 :     if (name == CAxisName::sSIB) {
     181           0 :         return AxisNameMod::SIB;
     182             :     }
     183             :         
     184         465 :     if (name == CAxisName::sSUB) {
     185          78 :         return AxisNameMod::SUB;
     186             :     }
     187             :         
     188         387 :     if (name == CAxisName::sBIN) {
     189         101 :         return AxisNameMod::BIN;
     190             :     }
     191             :         
     192         286 :     if (name == CAxisName::sAPC) {
     193          78 :         return AxisNameMod::APC;
     194             :     }
     195             :         
     196         208 :     if (name == CAxisName::sSPP) {
     197         104 :         return AxisNameMod::SPP;
     198             :     }
     199             :         
     200         104 :     if (name == CAxisName::sPOL) {
     201          81 :         return AxisNameMod::POL;
     202             :     }
     203             :         
     204          23 :     if (name == CAxisName::sSTO) {
     205          23 :         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       36151 : AxisNameMod::AxisName CAxisName::literal(const std::string& name) {
     216             :                 
     217       36151 :     if (name == CAxisName::sTIM) {
     218        1671 :         return AxisNameMod::TIM;
     219             :     }
     220             :         
     221       34480 :     if (name == CAxisName::sBAL) {
     222        3454 :         return AxisNameMod::BAL;
     223             :     }
     224             :         
     225       31026 :     if (name == CAxisName::sANT) {
     226        9573 :         return AxisNameMod::ANT;
     227             :     }
     228             :         
     229       21453 :     if (name == CAxisName::sBAB) {
     230        8888 :         return AxisNameMod::BAB;
     231             :     }
     232             :         
     233       12565 :     if (name == CAxisName::sSPW) {
     234         305 :         return AxisNameMod::SPW;
     235             :     }
     236             :         
     237       12260 :     if (name == CAxisName::sSIB) {
     238           0 :         return AxisNameMod::SIB;
     239             :     }
     240             :         
     241       12260 :     if (name == CAxisName::sSUB) {
     242           0 :         return AxisNameMod::SUB;
     243             :     }
     244             :         
     245       12260 :     if (name == CAxisName::sBIN) {
     246         321 :         return AxisNameMod::BIN;
     247             :     }
     248             :         
     249       11939 :     if (name == CAxisName::sAPC) {
     250           0 :         return AxisNameMod::APC;
     251             :     }
     252             :         
     253       11939 :     if (name == CAxisName::sSPP) {
     254        2903 :         return AxisNameMod::SPP;
     255             :     }
     256             :         
     257        9036 :     if (name == CAxisName::sPOL) {
     258        8731 :         return AxisNameMod::POL;
     259             :     }
     260             :         
     261         305 :     if (name == CAxisName::sSTO) {
     262         305 :         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           0 : }
     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           0 : }
     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           0 :                 }
     304           0 :                 return in;
     305           0 :         }
     306             : }
     307             : 

Generated by: LCOV version 1.16