Здравствуйте!
Как-то не продумано это. А используется везде и постоянно. За неимением флагов народ использует enum, а в новых плюсиках — enum class, но это же костыли.
Хочется типизированного флагового типа, хз, какое ключевое слово к нему прилепить, может enum class
flags bla-bla
Пока обхожусь разными вариантами, в основном enum/enum class, или что-то типа такого:
template<typename UnderlayingType>
struct Flags
{
typedef UnderlayingType underlaying_type;
static const UnderlayingType v1 = x1;
//...
// Тут конструкторы и преобразователи в UnderlayingType
// Можно брать значение, как мембер с именем value
underlaying_type value;
};
А как вы решаете флаговою проблему?