#ifndef RESTYPE_H #define RESTYPE_H #include #include class ResType { int x; public: ResType() : x(0) {} ResType(int x) : x(x) {} ResType(const std::string& s); ResType(const char* s); operator int() const { return x; } bool operator<(ResType y) const { return x < y.x; } operator std::string(); }; std::ostream& operator<<(std::ostream& out, ResType t); struct ResRef : public std::pair { ResRef() : std::pair(ResType(), 0) {} ResRef(ResType t, int id) : std::pair(t,id) {} ResType& type() { return first; } ResType type() const { return first; } short& id() { return second; } short id() const { return second; } }; #endif // RESTYPE_H