static_assert(::di::concepts::Enum<Type>); \
constexpr auto operator~(Type a)->Type { \
} \
constexpr auto operator|(Type a, Type b)->Type { \
} \
constexpr auto operator&(Type a, Type b)->Type { \
} \
constexpr auto operator^(Type a, Type b)->Type { \
} \
constexpr auto operator|=(Type& a, Type b)->Type& { \
return a = a | b; \
} \
constexpr auto operator&=(Type& a, Type b)->Type& { \
return a = a & b; \
} \
constexpr auto operator^=(Type& a, Type b)->Type& { \
return a = a ^ b; \
} \
constexpr auto operator!(Type a)->bool { \
}
constexpr auto operator&(M &&m, F &&f) -> decltype(fmap_right(util::forward< M >(m), util::forward< F >(f)))
Definition monad_operator.h:27
constexpr auto to_underlying
Definition to_underlying.h:15
Type
Definition initrd.h:13