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