Changeset 6643 in orxonox.OLD for trunk/src/lib/util
- Timestamp:
- Jan 21, 2006, 3:04:40 PM (19 years ago)
- Location:
- trunk/src/lib/util
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/util/multi_type.cc
r5660 r6643 120 120 return *this; 121 121 } 122 123 /** 124 * @brief checks if the two Multitypes match 125 * @param mt MultiType to check against this one 126 * @returns true on match. false otherwise 127 * 128 * Two MultiType match if and only if 129 * 1. the internal Type is the same 130 * 2. the stored values match 131 */ 132 bool MultiType::operator==(const MultiType& mt) const 133 { 134 if (this->type != mt.type) 135 return false; 136 137 switch (this->type) 138 { 139 case MT_NULL: 140 return true; 141 case MT_BOOL: 142 return (this->value.Bool == mt.value.Bool); 143 case MT_INT: 144 return (this->value.Int == mt.value.Int); 145 case MT_CHAR: 146 return (this->value.Char == mt.value.Char); 147 case MT_FLOAT: 148 return (this->value.Float == mt.value.Float); 149 case MT_STRING: 150 if (this->value.String != NULL && mt.value.String != NULL) 151 return (!strcmp(this->value.String, mt.value.String)); 152 else 153 return (this->value.String == NULL && mt.value.String == NULL); 154 } 155 } 156 157 /** 158 * @brief checks if the internal value matches the boolean value. 159 * @param value to check against this one 160 * @returns true on match. false otherwise 161 * 162 * Two MultiType match if and only if 163 * 1. the stored values match the given Value 164 */ 165 bool MultiType::operator==(const char* value) const 166 { 167 if (this->value.String != NULL && value != NULL) 168 return (!strcmp(this->value.String, value)); 169 else 170 return (this->value.String == NULL && value == NULL); 171 } 172 122 173 123 174 /** -
trunk/src/lib/util/multi_type.h
r5659 r6643 42 42 virtual ~MultiType(); 43 43 44 MultiType& operator= (const MultiType& mt); 44 MultiType& operator=(const MultiType& mt); 45 bool operator==(const MultiType& mt) const; 46 bool operator==(bool value) const { return this->getBool() == value; }; 47 bool operator==(int value)const { return this->getInt() == value; }; 48 bool operator==(float value)const { return this->getFloat() == value; }; 49 bool operator==(char value) const { return this->getChar() == value; }; 50 bool operator==(const char* value) const; 45 51 46 52 void setType(int type);
Note: See TracChangeset
for help on using the changeset viewer.