is_compare¶
Header¶
#include <tick/traits/is_compare.h>
Description¶
A compare function is a function that is used to establish a relationship.
Synopsis¶
TICK_TRAIT(is_compare)
{
template<class F, class T>
auto require(F&& f, T&& x) -> valid<
decltype(returns<bool>(f(std::forward<T>(x), std::forward<T>(x)))
>;
template<class F, class T, class U>
auto require(F&& f, T&& x, U&& y) -> valid<
decltype(require(std::forward<F>(f), std::forward<T>(x))),
decltype(require(std::forward<F>(f), std::forward<U>(y))),
decltype(returns<bool>(f(std::forward<T>(x), std::forward<U>(y))),
decltype(returns<bool>(f(std::forward<U>(y), std::forward<T>(x)))
>;
};