3 #include <ozo/core/concept.h>
15 template <
typename ...Args>
16 constexpr
void operator() (Args&& ...)
const noexcept {}
17 template <
typename ...Args>
18 static constexpr
void apply (Args&& ...) noexcept {}
30 struct is_time_constraint<none_t> : std::true_type {};
32 inline constexpr std::true_type operator == (
const none_t&,
const none_t&) {
return {};}
35 inline constexpr std::false_type operator == (
const none_t&,
const T&) {
return {};}
38 inline constexpr std::false_type operator == (
const T&,
const none_t&) {
return {};}
40 inline constexpr std::false_type operator != (
const none_t&,
const none_t&) {
return {};}
43 inline constexpr std::true_type operator != (
const none_t&,
const T&) {
return {};}
46 inline constexpr std::true_type operator != (
const T&,
const none_t&) {
return {};}
49 using is_none = decltype(std::declval<const T&>() ==
none);
52 inline constexpr
auto IsNone = is_none<std::decay_t<T>>::value;