| #ifndef VALUES_H |
| #define VALUES_H |
| |
| #include "Configuration.h" |
| #include "XMLHandler.h" |
| |
| #include <string> |
| |
| using namespace std; |
| |
| enum { |
| CURRENT_VERSION, |
| OLD_VERSION |
| }; |
| |
| struct StringResource |
| { |
| StringResource(); |
| StringResource(const SourcePos& pos, const string& file, const Configuration& config, |
| const string& id, int index, XMLNode* value, |
| int version, const string& versionString, const string& comment = ""); |
| StringResource(const StringResource& that); |
| |
| // Compare two configurations |
| int Compare(const StringResource& that) const; |
| |
| inline bool operator<(const StringResource& that) const { return Compare(that) < 0; } |
| inline bool operator<=(const StringResource& that) const { return Compare(that) <= 0; } |
| inline bool operator==(const StringResource& that) const { return Compare(that) == 0; } |
| inline bool operator!=(const StringResource& that) const { return Compare(that) != 0; } |
| inline bool operator>=(const StringResource& that) const { return Compare(that) >= 0; } |
| inline bool operator>(const StringResource& that) const { return Compare(that) > 0; } |
| |
| string TypedID() const; |
| static bool ParseTypedID(const string& typed, string* id, int* index); |
| |
| SourcePos pos; |
| string file; |
| Configuration config; |
| string id; |
| int index; |
| XMLNode* value; |
| int version; |
| string versionString; |
| string comment; |
| }; |
| |
| #endif // VALUES_H |