У меня недостаточно репутации, чтобы комментировать.Поэтому я отправляю ответ.
@ ildjarn: С stxxl
вам нужно static T min_value()
и static T max_value()
в некоторых случаях.
@ Фабрицио: Вы уверены, что хотите сравнитьconst char*
с напрямую?Что вы делаете, наследуя от std::less<const char*>
.Если вы хотите сравнить две строки, вам понадобится что-то вроде этого:
struct comp_type : public std::binary_function<const char*, const char*, bool>
{
bool operator ()(const char* left, const char* right)
{
return strcmp(left, right) < 0;
}
static const char* min_value() { return "\0"; } // I hope this is the minimum
static const char* max_value() {...} // I don't know of any maximum value
};
Обратите внимание, что это static const char* max_value()
, а не static int max_value()
.Надеюсь, это поможет.