Lines Matching refs:T
21 #define DEFINE_BITOPS(T) \ argument
22 inline T operator~(T a) \
24 using utype = std::underlying_type_t<T>; \
26 return static_cast<T>(~static_cast<utype>(a)); \
29 inline bool operator!(T a) \
31 using utype = std::underlying_type_t<T>; \
36 inline T operator|(T a, T b) \
38 using utype = std::underlying_type_t<T>; \
40 return static_cast<T>(static_cast<utype>(a) | static_cast<utype>(b)); \
43 inline std::underlying_type_t<T> operator&(T a, T b) \
45 using utype = std::underlying_type_t<T>; \
50 inline T operator^(T a, T b) \
52 using utype = std::underlying_type_t<T>; \
54 return static_cast<T>(static_cast<utype>(a) ^ static_cast<utype>(b)); \
57 inline T &operator|=(T &a, T b) \
63 inline T &operator&=(T &a, T b) \
65 using utype = std::underlying_type_t<T>; \
67 return a = static_cast<T>(static_cast<utype>(a) & static_cast<utype>(b)); \
70 inline T &operator^=(T &a, T b) \