#include using namespace std; class NoCaseCompare { public: NoCaseCompare(); ~NoCaseCompare(); bool operator() (const string& s, const string& t) const { return lexicographical_compare( s.begin(), s.end(), t.begin(), t.end(), noCaseCompare); } private: static bool noCaseCompare(char c1, char c2) { return toupper(c1) < toupper(c2); } };