diff --git a/include/ircd/util.h b/include/ircd/util.h index 979c1c682..de14f6d3d 100644 --- a/include/ircd/util.h +++ b/include/ircd/util.h @@ -132,6 +132,7 @@ auto lex_cast(Args&&... args) */ template +constexpr typename std::enable_if::value, Enum>::type operator~(const Enum &a) { @@ -141,6 +142,7 @@ operator~(const Enum &a) } template +constexpr typename std::enable_if::value, bool>::type operator!(const Enum &a) { @@ -150,6 +152,7 @@ operator!(const Enum &a) } template +constexpr typename std::enable_if::value, Enum>::type operator|(const Enum &a, const Enum &b) { @@ -159,6 +162,7 @@ operator|(const Enum &a, const Enum &b) } template +constexpr typename std::enable_if::value, Enum>::type operator&(const Enum &a, const Enum &b) { @@ -168,6 +172,7 @@ operator&(const Enum &a, const Enum &b) } template +constexpr typename std::enable_if::value, Enum>::type operator^(const Enum &a, const Enum &b) { @@ -177,6 +182,7 @@ operator^(const Enum &a, const Enum &b) } template +constexpr typename std::enable_if::value, Enum &>::type operator|=(Enum &a, const Enum &b) { @@ -186,6 +192,7 @@ operator|=(Enum &a, const Enum &b) } template +constexpr typename std::enable_if::value, Enum &>::type operator&=(Enum &a, const Enum &b) { @@ -195,6 +202,7 @@ operator&=(Enum &a, const Enum &b) } template +constexpr typename std::enable_if::value, Enum &>::type operator^=(Enum &a, const Enum &b) {