From cf3dfcddffde70b54e38f18665cc3c4dbb0f5132 Mon Sep 17 00:00:00 2001 From: Jack Andersen Date: Sun, 31 Jul 2016 10:25:40 -1000 Subject: [PATCH] Use constexpr for evaluating bitwise enums --- include/athena/Global.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/athena/Global.hpp b/include/athena/Global.hpp index a4912cb..9401759 100644 --- a/include/athena/Global.hpp +++ b/include/athena/Global.hpp @@ -77,29 +77,29 @@ typedef struct stat64 stat64_t; #ifndef ENABLE_BITWISE_ENUM #define ENABLE_BITWISE_ENUM(type)\ -inline type operator|(type a, type b)\ +constexpr type operator|(type a, type b)\ {\ using T = std::underlying_type_t;\ return type(static_cast(a) | static_cast(b));\ }\ -inline type operator&(type a, type b)\ +constexpr type operator&(type a, type b)\ {\ using T = std::underlying_type_t;\ return type(static_cast(a) & static_cast(b));\ }\ -inline type& operator|=(type& a, const type& b)\ +constexpr type& operator|=(type& a, const type& b)\ {\ using T = std::underlying_type_t;\ a = type(static_cast(a) | static_cast(b));\ return a;\ }\ -inline type& operator&=(type& a, const type& b)\ +constexpr type& operator&=(type& a, const type& b)\ {\ using T = std::underlying_type_t;\ a = type(static_cast(a) & static_cast(b));\ return a;\ }\ -inline type operator~(const type& key)\ +constexpr type operator~(const type& key)\ {\ using T = std::underlying_type_t;\ return type(~static_cast(key));\