шаблон с утиной печатью на C++

Есть ли способ потребовать, чтобы тип шаблонов имел свойства?

Например:

template <typename T, typename U>
void foo()
{
    U a,b;
    bool truthiness = T()(a,b);
    if (truthiness)
        // do something
}

Итак, как мне потребовать, чтобы Tопределял operator()(U a, U b), который возвращает определенный тип? Это возможно? (Я знаю, что это на d, но не уверен насчет c++ ).

пс. если утиная типизация здесь неверна, дайте мне знать, я считаю, что это правильно, но я не уверен.

0
задан Andrew Spott 30 June 2012 в 03:16
поделиться