Сообщение Вот еще бесит отсутствие флагового типа от 07.09.2022 0:31
Изменено 07.09.2022 0:32 Marty
Вот еще бесит отсутствие флагового типа
Здравствуйте!
Как-то не продумано это. А используется везде и постоянно. За неимением флагов народ использует 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;
};
А как вы решаете флаговою проблему?
Как-то не продумано это. А используется везде и постоянно. За неимением флагов народ использует 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;
};
А как вы решаете флаговою проблему?
Вот еще бесит отсутствие флагового типа
Здравствуйте!
Как-то не продумано это. А используется везде и постоянно. За неимением флагов народ использует enum, а в новых плюсиках — enum class, но это же костыли.
Хочется типизированного флагового типа, хз, какое ключевое слово к нему прилепить, может enum class flags bla-bla
Пока обхожусь разными вариантами, в основном enum/enum class, или что-то типа такого:
А как вы решаете флаговою проблему?
Как-то не продумано это. А используется везде и постоянно. За неимением флагов народ использует 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;
};
А как вы решаете флаговою проблему?