Вот пример кода, чтобы определить, поддерживает ли класс оператор : < /p>
Код: Выделить всё
template
struct supports_less_than
{
static auto less_than_test(const T* t) -> decltype(*t < *t, char(0))
{ }
static std::array less_than_test(...) { }
static const bool value = (sizeof(less_than_test((T*)0)) == 1);
};
int main()
{
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/5839357/detect-operator-support-with-decltype-sfinae[/url]
Мобильная версия