00001 #ifndef __NOM_H 00002 #define __NOM_H 00003 00004 #include <string> 00005 #include <sstream> 00006 00018 class Nom 00019 { 00020 std::string nom; 00021 00022 public: 00023 00024 Nom(){}; 00025 Nom(const std::string& _var) : nom(_var) {}; 00026 Nom(const std::string& _var, const int _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); }; 00027 Nom(const std::string& _var, const unsigned _i) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); }; 00028 Nom(const std::string& _var, const long _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); }; 00029 Nom(const std::string& _var, const float _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); }; 00030 Nom(const std::string& _var, const double _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); }; 00031 Nom(const std::string& _var, const char _i ) : nom(_var) { std::ostringstream s; s << _i; nom += std::string(s.str()); }; 00032 00033 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()); }; 00034 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()); }; 00035 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()); }; 00036 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()); }; 00037 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()); }; 00038 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()); }; 00039 00040 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()); }; 00041 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()); }; 00042 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()); }; 00043 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()); }; 00044 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()); }; 00045 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()); }; 00046 00047 Nom& operator<<(const std::string& _str) 00048 { 00049 nom += _str; 00050 return *this; 00051 } 00052 Nom& operator<<(const int _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;} 00053 Nom& operator<<(const unsigned _i) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;} 00054 Nom& operator<<(const long _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;} 00055 Nom& operator<<(const double _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;} 00056 Nom& operator<<(const float _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;} 00057 Nom& operator<<(const char _i ) { std::ostringstream s; s << _i; nom += std::string(s.str()); return *this;} 00058 00059 std::string operator()() const 00060 { 00061 return nom; 00062 } 00063 00064 Nom( const Nom & _nom) { *this = _nom; } 00065 00066 Nom & operator=( const Nom & _nom ) 00067 { 00068 if( this != &_nom) 00069 nom = _nom.nom; 00070 return *this; 00071 } 00072 00073 ~Nom(){}; 00074 00075 std::string GetNom() const {return nom; } 00076 00077 void Clear() {nom.clear();} 00078 void SetNom(const std::string& _nom) {nom = _nom;} 00079 00080 }; 00081 00082 #endif