Просто из любопытства: если у меня есть оператор класса (или функция и т. П.), Который принимает несколько аргументов (обычно 1 или 2) и возвращает 1 из 3 значений (вместо логического значения true или false), если он по-прежнему вызывается предикат? Или частный случай нечеткой логики? Или что?
Пример:
template <class T><br>
class BinaryPredicate {<br>
public:<br>
virtual int operator()(const T& lhs, const T& rhs) const = 0;<br>
};
, который возвращает -1, 0 или 1 в соответствии с определенной унаследованной операторной функцией (например, для определения порядка).