Matrix Science header

ms_umod_elemref.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_umod_elemref.hpp                                                  #
00004 # 'msparser' toolkit                                                         #
00005 # Represents 'elemref_t' type in unimod.xml file                             #
00006 ##############################################################################
00007 # COPYRIGHT NOTICE                                                           #
00008 # Copyright 1998-2006 Matrix Science Limited  All Rights Reserved.           #
00009 #                                                                            #
00010 ##############################################################################
00011  * @(#)$Source: parser/inc/ms_umod_elemref.hpp $
00012  * @(#)$Revision: 1b450440f9c97e1e41d0fc6016a27d68951d4532 | MSPARSER_REL_2_8_1-0-gea32989045 $
00013  * @(#)$Date: 2018-07-30 16:23:53 +0100 $
00014 ##############################################################################
00015  */
00016 
00017 #ifndef MS_UMOD_ELEMREF_HPP
00018 #define MS_UMOD_ELEMREF_HPP
00019 
00020 
00021 #include <string>
00022 #include <vector>
00023 
00024 // forward declarations
00025 namespace msparser_internal {
00026     class ms_umod_xmlloader;
00027 }
00028 
00029 namespace matrix_science {
00030 
00031     class ms_quant_element; // forward declaration;
00032     class ms_xml_schema; // forward declaration
00033 
00039 
00040 
00044     class MS_MASCOTRESFILE_API ms_umod_elemref: public ms_xml_IValidatable
00045     {
00046         friend class msparser_internal::ms_umod_xmlloader;
00047         friend class ms_umod_configfile;
00048 
00049     public:
00051         ms_umod_elemref();
00052 
00054         ms_umod_elemref(const ms_umod_elemref& src);
00055 
00057         ms_umod_elemref(const ms_quant_element& src);
00058 
00059 
00061         virtual ~ms_umod_elemref();
00062 
00064         void defaultValues();
00065 
00067         void copyFrom(const ms_umod_elemref* right);
00068 
00070         void copyFrom(const ms_quant_element* right);
00071 
00072 #ifndef SWIG
00073 
00074         ms_umod_elemref& operator=(const ms_umod_elemref& right);
00075 #endif
00076 
00077         virtual std::string getSchemaType() const;
00078 
00080         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00081 
00083         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00084 
00085 
00087         bool haveSymbol() const;
00088 
00090         std::string getSymbol() const;
00091 
00093         void setSymbol(const char* value);
00094 
00096         void dropSymbol();
00097 
00099         std::string getSymbolSchemaType() const;
00100 
00101 
00103         bool haveNumber() const;
00104 
00106         int getNumber() const;
00107 
00109         void setNumber(const int value);
00110 
00112         void dropNumber();
00113 
00115         std::string getNumberSchemaType() const;
00116 
00117     private:
00118 
00119         std::string _symbol;
00120         bool _symbol_set;
00121 
00122         int _number;
00123         bool _number_set;
00124     }; // class ms_umod_elemref
00125  // end of config_group
00127 
00128 } // namespace matrix_science
00129 
00130 #endif // MS_UMOD_ELEMREF_HPP
00131 
00132 /*------------------------------- End of File -------------------------------*/

Copyright © 2022 Matrix Science Ltd.  All Rights Reserved. Generated on Thu Mar 31 2022 01:12:30