diff --git a/stepmania/src/StepsUtil.cpp b/stepmania/src/StepsUtil.cpp index c78b959893..546acf9c32 100644 --- a/stepmania/src/StepsUtil.cpp +++ b/stepmania/src/StepsUtil.cpp @@ -205,3 +205,13 @@ bool StepsID::IsValid() const return st != STEPS_TYPE_INVALID && dc != DIFFICULTY_INVALID; } +bool StepsID::operator<( const StepsID &rhs ) const +{ +#define COMP(a) if(arhs.a) return false; + COMP(st); + COMP(dc); + COMP(sDescription); + COMP(uHash); +#undef COMP + return false; +} diff --git a/stepmania/src/StepsUtil.h b/stepmania/src/StepsUtil.h index ecd0ad6a9c..200056b20a 100644 --- a/stepmania/src/StepsUtil.h +++ b/stepmania/src/StepsUtil.h @@ -44,10 +44,7 @@ public: void Unset() { FromSteps(NULL); } void FromSteps( const Steps *p ); Steps *ToSteps( const Song *p, bool bAllowNull ) const; - bool operator<( const StepsID &other ) const - { - return st < other.st || dc < other.dc || sDescription < other.sDescription || uHash < other.uHash; - } + bool operator<( const StepsID &rhs ) const; XNode* CreateNode() const; void LoadFromNode( const XNode* pNode );