#ifndef DTL_COMPARATORS #define DTL_COMPARATORS class CaseInsensitive : public dtl::Compare { public: virtual bool impl(const char &a, const char &b) const { return tolower(a) == tolower(b); } }; class StringCaseInsensitive : public dtl::Compare { public: virtual bool impl(const string &a, const string &b) const { if (a.length() == b.length()) { bool equal = (strncasecmp(a.c_str(), b.c_str(), a.length()) == 0); return equal; } else { return false; } } }; #endif // DTL_COMPARATORS