Changeset 1052 for code/trunk/src/util/MultiTypeString.h
- Timestamp:
- Apr 14, 2008, 3:42:49 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk/src/util/MultiTypeString.h
r890 r1052 39 39 { 40 40 public: 41 MultiTypeString(MultiType type = MT_null); 41 MultiTypeString(MultiType type = MT_null); 42 inline MultiTypeString(void* value) : MultiTypePrimitive(value) {} 42 43 inline MultiTypeString(int value) : MultiTypePrimitive(value) {} 43 44 inline MultiTypeString(unsigned int value) : MultiTypePrimitive(value) {} … … 52 53 inline MultiTypeString(long double value) : MultiTypePrimitive(value) {} 53 54 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); } 57 58 virtual inline ~MultiTypeString() {} 58 59 59 60 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; } 63 64 64 65 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); } 67 68 bool operator==(const MultiTypeString& mts) const; 68 69 69 70 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); } 72 73 bool operator!=(const MultiTypeString& mts) const; 73 74 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; 88 90 89 91 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; } 92 94 void setValue(const MultiTypeString& mts); 93 95 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(); } 96 98 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(); } 99 101 100 102 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; 103 107 104 108 virtual std::string toString() const; … … 106 110 107 111 protected: 108 std::string string_;112 std::string string_; 109 113 }; 110 114
Note: See TracChangeset
for help on using the changeset viewer.