22#include <kiwano/core/BitOperator.h>
28template <
typename _Ty>
32 static_assert(std::is_arithmetic<_Ty>::value,
"_Ty must be an arithmetic type");
34 typedef _Ty value_type;
43 inline Flag(_Ty value)
48 inline void Set(_Ty value)
50 bits::Set(this->value, value);
53 inline void Unset(_Ty value)
55 bits::Unset(this->value, value);
58 inline bool Has(_Ty value)
const
60 return bits::Has(this->value, value);
64template <
typename _Ty>
65struct IsFlag :
public std::false_type
69template <
typename _Ty>