LCOV - code coverage report
Current view: top level - alma/Enumerations - CSubscanIntent.cc (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 44 119 37.0 %
Date: 2024-12-11 20:54:31 Functions: 4 12 33.3 %

          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 CSubscanIntent.cpp
      34             :  */
      35             : #include <sstream>
      36             : #include <alma/Enumerations/CSubscanIntent.h>
      37             : #include <string>
      38             : using namespace std;
      39             : 
      40           0 : int CSubscanIntent::version() {
      41           0 :         return SubscanIntentMod::version;
      42             :         }
      43             :         
      44           0 : string CSubscanIntent::revision () {
      45           0 :         return SubscanIntentMod::revision;
      46             : }
      47             : 
      48           0 : unsigned int CSubscanIntent::size() {
      49           0 :         return 11;
      50             :         }
      51             :         
      52             :         
      53             : const std::string& CSubscanIntent::sON_SOURCE = "ON_SOURCE";
      54             :         
      55             : const std::string& CSubscanIntent::sOFF_SOURCE = "OFF_SOURCE";
      56             :         
      57             : const std::string& CSubscanIntent::sMIXED = "MIXED";
      58             :         
      59             : const std::string& CSubscanIntent::sREFERENCE = "REFERENCE";
      60             :         
      61             : const std::string& CSubscanIntent::sSCANNING = "SCANNING";
      62             :         
      63             : const std::string& CSubscanIntent::sHOT = "HOT";
      64             :         
      65             : const std::string& CSubscanIntent::sAMBIENT = "AMBIENT";
      66             :         
      67             : const std::string& CSubscanIntent::sSIGNAL = "SIGNAL";
      68             :         
      69             : const std::string& CSubscanIntent::sIMAGE = "IMAGE";
      70             :         
      71             : const std::string& CSubscanIntent::sTEST = "TEST";
      72             :         
      73             : const std::string& CSubscanIntent::sUNSPECIFIED = "UNSPECIFIED";
      74             :         
      75        8230 : const std::vector<std::string> CSubscanIntent::names() {
      76        8230 :     std::vector<std::string> enumSet;
      77             :     
      78        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sON_SOURCE);
      79             :     
      80        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sOFF_SOURCE);
      81             :     
      82        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sMIXED);
      83             :     
      84        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sREFERENCE);
      85             :     
      86        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sSCANNING);
      87             :     
      88        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sHOT);
      89             :     
      90        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sAMBIENT);
      91             :     
      92        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sSIGNAL);
      93             :     
      94        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sIMAGE);
      95             :     
      96        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sTEST);
      97             :     
      98        8230 :     enumSet.insert(enumSet.end(), CSubscanIntent::sUNSPECIFIED);
      99             :         
     100        8230 :     return enumSet;
     101           0 : }
     102             : 
     103        4412 : std::string CSubscanIntent::name(const SubscanIntentMod::SubscanIntent& f) {
     104        4412 :     switch (f) {
     105             :     
     106        2832 :     case SubscanIntentMod::ON_SOURCE:
     107        2832 :       return CSubscanIntent::sON_SOURCE;
     108             :     
     109        1510 :     case SubscanIntentMod::OFF_SOURCE:
     110        1510 :       return CSubscanIntent::sOFF_SOURCE;
     111             :     
     112           0 :     case SubscanIntentMod::MIXED:
     113           0 :       return CSubscanIntent::sMIXED;
     114             :     
     115           0 :     case SubscanIntentMod::REFERENCE:
     116           0 :       return CSubscanIntent::sREFERENCE;
     117             :     
     118           0 :     case SubscanIntentMod::SCANNING:
     119           0 :       return CSubscanIntent::sSCANNING;
     120             :     
     121           0 :     case SubscanIntentMod::HOT:
     122           0 :       return CSubscanIntent::sHOT;
     123             :     
     124           0 :     case SubscanIntentMod::AMBIENT:
     125           0 :       return CSubscanIntent::sAMBIENT;
     126             :     
     127           0 :     case SubscanIntentMod::SIGNAL:
     128           0 :       return CSubscanIntent::sSIGNAL;
     129             :     
     130           0 :     case SubscanIntentMod::IMAGE:
     131           0 :       return CSubscanIntent::sIMAGE;
     132             :     
     133           0 :     case SubscanIntentMod::TEST:
     134           0 :       return CSubscanIntent::sTEST;
     135             :     
     136          70 :     case SubscanIntentMod::UNSPECIFIED:
     137          70 :       return CSubscanIntent::sUNSPECIFIED;
     138             :         
     139             :     }
     140             :     // Impossible siutation but....who knows with C++ enums
     141           0 :     throw badInt((int) f);
     142             : }
     143             : 
     144       15924 : SubscanIntentMod::SubscanIntent CSubscanIntent::newSubscanIntent(const std::string& name) {
     145             :                 
     146       15924 :     if (name == CSubscanIntent::sON_SOURCE) {
     147       13335 :         return SubscanIntentMod::ON_SOURCE;
     148             :     }
     149             :         
     150        2589 :     if (name == CSubscanIntent::sOFF_SOURCE) {
     151        2250 :         return SubscanIntentMod::OFF_SOURCE;
     152             :     }
     153             :         
     154         339 :     if (name == CSubscanIntent::sMIXED) {
     155           0 :         return SubscanIntentMod::MIXED;
     156             :     }
     157             :         
     158         339 :     if (name == CSubscanIntent::sREFERENCE) {
     159           0 :         return SubscanIntentMod::REFERENCE;
     160             :     }
     161             :         
     162         339 :     if (name == CSubscanIntent::sSCANNING) {
     163           0 :         return SubscanIntentMod::SCANNING;
     164             :     }
     165             :         
     166         339 :     if (name == CSubscanIntent::sHOT) {
     167          12 :         return SubscanIntentMod::HOT;
     168             :     }
     169             :         
     170         327 :     if (name == CSubscanIntent::sAMBIENT) {
     171          12 :         return SubscanIntentMod::AMBIENT;
     172             :     }
     173             :         
     174         315 :     if (name == CSubscanIntent::sSIGNAL) {
     175           0 :         return SubscanIntentMod::SIGNAL;
     176             :     }
     177             :         
     178         315 :     if (name == CSubscanIntent::sIMAGE) {
     179           0 :         return SubscanIntentMod::IMAGE;
     180             :     }
     181             :         
     182         315 :     if (name == CSubscanIntent::sTEST) {
     183           0 :         return SubscanIntentMod::TEST;
     184             :     }
     185             :         
     186         315 :     if (name == CSubscanIntent::sUNSPECIFIED) {
     187         315 :         return SubscanIntentMod::UNSPECIFIED;
     188             :     }
     189             :     
     190           0 :     throw badString(name);
     191             : }
     192             : 
     193           0 : SubscanIntentMod::SubscanIntent CSubscanIntent::literal(const std::string& name) {
     194             :                 
     195           0 :     if (name == CSubscanIntent::sON_SOURCE) {
     196           0 :         return SubscanIntentMod::ON_SOURCE;
     197             :     }
     198             :         
     199           0 :     if (name == CSubscanIntent::sOFF_SOURCE) {
     200           0 :         return SubscanIntentMod::OFF_SOURCE;
     201             :     }
     202             :         
     203           0 :     if (name == CSubscanIntent::sMIXED) {
     204           0 :         return SubscanIntentMod::MIXED;
     205             :     }
     206             :         
     207           0 :     if (name == CSubscanIntent::sREFERENCE) {
     208           0 :         return SubscanIntentMod::REFERENCE;
     209             :     }
     210             :         
     211           0 :     if (name == CSubscanIntent::sSCANNING) {
     212           0 :         return SubscanIntentMod::SCANNING;
     213             :     }
     214             :         
     215           0 :     if (name == CSubscanIntent::sHOT) {
     216           0 :         return SubscanIntentMod::HOT;
     217             :     }
     218             :         
     219           0 :     if (name == CSubscanIntent::sAMBIENT) {
     220           0 :         return SubscanIntentMod::AMBIENT;
     221             :     }
     222             :         
     223           0 :     if (name == CSubscanIntent::sSIGNAL) {
     224           0 :         return SubscanIntentMod::SIGNAL;
     225             :     }
     226             :         
     227           0 :     if (name == CSubscanIntent::sIMAGE) {
     228           0 :         return SubscanIntentMod::IMAGE;
     229             :     }
     230             :         
     231           0 :     if (name == CSubscanIntent::sTEST) {
     232           0 :         return SubscanIntentMod::TEST;
     233             :     }
     234             :         
     235           0 :     if (name == CSubscanIntent::sUNSPECIFIED) {
     236           0 :         return SubscanIntentMod::UNSPECIFIED;
     237             :     }
     238             :     
     239           0 :     throw badString(name);
     240             : }
     241             : 
     242        8230 : SubscanIntentMod::SubscanIntent CSubscanIntent::from_int(unsigned int i) {
     243        8230 :         vector<string> names_ = names();
     244        8230 :         if (i >= names_.size()) throw badInt(i);
     245       16460 :         return newSubscanIntent(names_.at(i));
     246        8230 : }
     247             : 
     248           0 : string CSubscanIntent::badString(const string& name) {
     249           0 :         return "'"+name+"' does not correspond to any literal in the enumeration 'SubscanIntent'.";
     250             : }
     251             : 
     252           0 : string CSubscanIntent::badInt(unsigned int i) {
     253           0 :         ostringstream oss ;
     254           0 :         oss << "'" << i << "' is out of range for the enumeration 'SubscanIntent'.";
     255           0 :         return oss.str();
     256           0 : }
     257             : 
     258             : namespace SubscanIntentMod {
     259           0 :         std::ostream & operator << ( std::ostream & out, const SubscanIntent& value) {
     260           0 :                 out << CSubscanIntent::name(value);
     261           0 :                 return out;
     262             :         }
     263             : 
     264           0 :         std::istream & operator >> ( std::istream & in , SubscanIntent& value ) {
     265           0 :                 in.clear();
     266           0 :                 string s ; 
     267           0 :                 in >> s;
     268             :                 try {
     269           0 :                 value = CSubscanIntent::literal(s);
     270             :                 }
     271           0 :                 catch (string & m) {
     272           0 :                 in.setstate(ios::failbit);
     273           0 :                 }
     274           0 :                 return in;
     275           0 :         }
     276             : }
     277             : 

Generated by: LCOV version 1.16