Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 14, 2008, 3:42:49 AM (16 years ago)
Author:
landauf
Message:

merged core2 back to trunk
there might be some errors, wasn't able to test it yet due to some strange g++ and linker behaviour.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/util/MultiTypeString.h

    r890 r1052  
    3939{
    4040    public:
    41         MultiTypeString(MultiType      type = MT_null);
     41        MultiTypeString(MultiType type = MT_null);
     42        inline MultiTypeString(void*          value) : MultiTypePrimitive(value) {}
    4243        inline MultiTypeString(int            value) : MultiTypePrimitive(value) {}
    4344        inline MultiTypeString(unsigned int   value) : MultiTypePrimitive(value) {}
     
    5253        inline MultiTypeString(long double    value) : MultiTypePrimitive(value) {}
    5354        inline MultiTypeString(bool           value) : MultiTypePrimitive(value) {}
    54         inline MultiTypeString(const char*        value)   { this->setValue(value); }
    55         inline MultiTypeString(const std::string& value)   { this->setValue(value); }
    56         inline MultiTypeString(const MultiTypeString& mts) { this->setValue(mts);   }
     55        inline MultiTypeString(const char*           value)   { this->setValue(value); }
     56        inline MultiTypeString(const std::string&    value)   { this->setValue(value); }
     57        inline MultiTypeString(const MultiTypeString& mts)    { this->setValue(mts);   }
    5758        virtual inline ~MultiTypeString() {}
    5859
    5960        using MultiTypePrimitive::operator=;
    60         inline MultiTypeString& operator=(const char*        value)   { this->setValue(value); return *this; }
    61         inline MultiTypeString& operator=(const std::string& value)   { this->setValue(value); return *this; }
    62         inline MultiTypeString& operator=(const MultiTypeString& mts) { this->setValue(mts);   return *this; }
     61        inline MultiTypeString& operator=(const char*             value)   { this->setValue(value); return *this; }
     62        inline MultiTypeString& operator=(const std::string&      value)   { this->setValue(value); return *this; }
     63        inline MultiTypeString& operator=(const MultiTypeString& mts)      { this->setValue(mts);   return *this; }
    6364
    6465        using MultiTypePrimitive::operator==;
    65         inline bool operator==(const char*        value) const { return (this->string_ == std::string(value)); }
    66         inline bool operator==(const std::string& value) const { return (this->string_ == value);              }
     66        inline bool operator==(const char*             value) const { return (this->string_      == std::string(value)); }
     67        inline bool operator==(const std::string&      value) const { return (this->string_      == value);              }
    6768        bool operator==(const MultiTypeString& mts) const;
    6869
    6970        using MultiTypePrimitive::operator!=;
    70         inline bool operator!=(const char*        value) const { return (this->string_ != std::string(value)); }
    71         inline bool operator!=(const std::string& value) const { return (this->string_ != value);              }
     71        inline bool operator!=(const char*             value) const { return (this->string_      != std::string(value)); }
     72        inline bool operator!=(const std::string&      value) const { return (this->string_      != value);              }
    7273        bool operator!=(const MultiTypeString& mts) const;
    7374
    74         virtual operator int()            const;
    75         virtual operator unsigned int()   const;
    76         virtual operator char()           const;
    77         virtual operator unsigned char()  const;
    78         virtual operator short()          const;
    79         virtual operator unsigned short() const;
    80         virtual operator long()           const;
    81         virtual operator unsigned long()  const;
    82         virtual operator float ()         const;
    83         virtual operator double ()        const;
    84         virtual operator long double()    const;
    85         virtual operator bool()           const;
    86         virtual operator std::string()    const;
    87         virtual operator const char*()    const;
     75        virtual operator void*()                const;
     76        virtual operator int()                  const;
     77        virtual operator unsigned int()         const;
     78        virtual operator char()                 const;
     79        virtual operator unsigned char()        const;
     80        virtual operator short()                const;
     81        virtual operator unsigned short()       const;
     82        virtual operator long()                 const;
     83        virtual operator unsigned long()        const;
     84        virtual operator float ()               const;
     85        virtual operator double ()              const;
     86        virtual operator long double()          const;
     87        virtual operator bool()                 const;
     88        virtual operator std::string()          const;
     89        virtual operator const char*()          const;
    8890
    8991        using MultiTypePrimitive::setValue;
    90         inline void setValue(const char*        value) { this->type_ = MT_string; this->string_ = std::string(value); }
    91         inline void setValue(const std::string& value) { this->type_ = MT_string; this->string_ = value;              }
     92        inline void setValue(const char*             value) { this->type_ = MT_string;     this->string_    = std::string(value); }
     93        inline void setValue(const std::string&      value) { this->type_ = MT_string;     this->string_    = value;              }
    9294        void setValue(const MultiTypeString& mts);
    9395
    94         inline const std::string getString() const { return this->string_;         }
    95         inline const char*  getConstChar()   const { return this->string_.c_str(); }
     96        inline std::string getString()          const { return this->string_;         }
     97        inline const char*  getConstChar()      const { return this->string_.c_str(); }
    9698
    97         inline const std::string& getString() { return this->string_;         }
    98         inline const char*  getConstChar()    { return this->string_.c_str(); }
     99        inline std::string& getString()          { return this->string_;         }
     100        inline const char*  getConstChar()       { return this->string_.c_str(); }
    99101
    100102        using MultiTypePrimitive::getValue;
    101         inline void getValue(std::string* variable) const { (*variable) = this->string_;         }
    102         inline void getValue(const char** variable) const { (*variable) = this->string_.c_str(); }
     103        inline void getValue(std::string*      variable) const { (*variable) = this->string_;         }
     104        inline void getValue(const char**      variable) const { (*variable) = this->string_.c_str(); }
     105
     106        virtual std::string getTypename() const;
    103107
    104108        virtual std::string toString() const;
     
    106110
    107111    protected:
    108         std::string string_;
     112        std::string      string_;
    109113};
    110114
Note: See TracChangeset for help on using the changeset viewer.