1#ifndef VALUES_H 2#define VALUES_H 3 4#include "Configuration.h" 5#include "XMLHandler.h" 6 7#include <string> 8 9using namespace std; 10 11enum { 12 CURRENT_VERSION, 13 OLD_VERSION 14}; 15 16struct 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