Modelib: Nom.h Source File

Page principale | Hiérarchie des classes | Liste des composants | Liste des fichiers | Composants

# Nom.h

    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