1 #ifndef VALUES_H 2 #define VALUES_H 3 4 #include "Configuration.h" 5 #include "XMLHandler.h" 6 7 #include <string> 8 9 using namespace std; 10 11 enum { 12 CURRENT_VERSION, 13 OLD_VERSION 14 }; 15 16 struct StringResource 17 { 18 StringResource(); 19 StringResource(const SourcePos& pos, const string& file, const Configuration& config, 20 const string& id, int index, XMLNode* value, 21 int version, const string& versionString, const string& comment = ""); 22 StringResource(const StringResource& that); 23 24 // Compare two configurations 25 int Compare(const StringResource& that) const; 26 27 inline bool operator<(const StringResource& that) const { return Compare(that) < 0; } 28 inline bool operator<=(const StringResource& that) const { return Compare(that) <= 0; } 29 inline bool operator==(const StringResource& that) const { return Compare(that) == 0; } 30 inline bool operator!=(const StringResource& that) const { return Compare(that) != 0; } 31 inline bool operator>=(const StringResource& that) const { return Compare(that) >= 0; } 32 inline bool operator>(const StringResource& that) const { return Compare(that) > 0; } 33 34 string TypedID() const; 35 static bool ParseTypedID(const string& typed, string* id, int* index); 36 37 SourcePos pos; 38 string file; 39 Configuration config; 40 string id; 41 int index; 42 XMLNode* value; 43 int version; 44 string versionString; 45 string comment; 46 }; 47 48 #endif // VALUES_H 49