00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef __NOM_H
00033 #define __NOM_H
00034
00035 #include <string>
00036 #include <sstream>
00037
00038 namespace Modelib {
00039
00051 class Nom
00052 {
00053 std::string nom;
00054
00055 public:
00056
00057 Nom(){};
00058 Nom(const std::string& _var) : nom(_var) {};
00059 Nom(const std::string& _var, const int _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); };
00060 Nom(const std::string& _var, const unsigned _i) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); };
00061 Nom(const std::string& _var, const long _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); };
00062 Nom(const std::string& _var, const float _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); };
00063 Nom(const std::string& _var, const double _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); };
00064 Nom(const std::string& _var, const char _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); };
00065
00066 Nom(const std::string& _var, const int _i , const int _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); s.clear(); ss << _j; nom += std::string(ss.str()); };
00067 Nom(const std::string& _var, const unsigned _i, const unsigned _j) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); s.clear(); ss << _j; nom += std::string(ss.str()); };
00068 Nom(const std::string& _var, const long _i , const long _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); s.clear(); ss << _j; nom += std::string(ss.str()); };
00069 Nom(const std::string& _var, const float _i , const float _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); s.clear(); ss << _j; nom += std::string(ss.str()); };
00070 Nom(const std::string& _var, const double _i , const double _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); s.clear(); ss << _j; nom += std::string(ss.str()); };
00071 Nom(const std::string& _var, const char _i , const char _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); s.clear(); ss << _j; nom += std::string(ss.str()); };
00072
00073 Nom(const std::string& _var, const int _i , const std::string& _c, const int _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); nom += _c; s.clear(); ss << _j; nom += std::string(ss.str()); };
00074 Nom(const std::string& _var, const unsigned _i, const std::string& _c, const unsigned _j) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); nom += _c; s.clear(); ss << _j; nom += std::string(ss.str()); };
00075 Nom(const std::string& _var, const long _i , const std::string& _c, const long _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); nom += _c; s.clear(); ss << _j; nom += std::string(ss.str()); };
00076 Nom(const std::string& _var, const float _i , const std::string& _c, const float _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); nom += _c; s.clear(); ss << _j; nom += std::string(ss.str()); };
00077 Nom(const std::string& _var, const double _i , const std::string& _c, const double _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); nom += _c; s.clear(); ss << _j; nom += std::string(ss.str()); };
00078 Nom(const std::string& _var, const char _i , const std::string& _c, const char _j ) : nom(_var) { std::ostringstream s,ss; s << _i; nom += std::string(s.str()); nom += _c; s.clear(); ss << _j; nom += std::string(ss.str()); };
00079
00080 Nom& operator<<(const std::string& _str)
00081 {
00082 nom += _str;
00083 return *this;
00084 }
00085 Nom& operator<<(const int _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;}
00086 Nom& operator<<(const unsigned _i) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;}
00087 Nom& operator<<(const long _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;}
00088 Nom& operator<<(const double _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;}
00089 Nom& operator<<(const float _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;}
00090 Nom& operator<<(const char _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;}
00091
00092 std::string operator()() const
00093 {
00094 return nom;
00095 }
00096
00097 Nom( const Nom & _nom) { *this = _nom; }
00098
00099 Nom & operator=( const Nom & _nom )
00100 {
00101 if( this != &_nom)
00102 nom = _nom.nom;
00103 return *this;
00104 }
00105
00106 ~Nom(){};
00107
00108 std::string GetNom() const {return nom; }
00109
00110 void Clear() {nom.clear();}
00111 void SetNom(const std::string& _nom) {nom = _nom;}
00112
00113 };
00114
00115 }
00116
00117 #endif