22 #ifndef GEARS_FUNCTIONAL_NUMERICAL_PROPERTIES_HPP
23 #define GEARS_FUNCTIONAL_NUMERICAL_PROPERTIES_HPP
28 namespace functional {
31 constexpr
auto operator()(T&& t) const -> decltype(std::forward<T>(t) % 2 == 0) {
32 return std::forward<T>(t) % 2 == 0;
38 constexpr
auto operator()(T&& t) const -> decltype(std::forward<T>(t) % 2 != 0) {
39 return std::forward<T>(t) % 2 != 0;
53 constexpr even_type
even{};
65 constexpr odd_type
odd{};
69 #endif // GEARS_FUNCTIONAL_NUMERICAL_PROPERTIES_HPP