Common: Clean up meta-template logic in BitField

This commit is contained in:
Yuri Kunde Schlesner 2017-05-21 15:49:55 -07:00
parent 2cdb40d709
commit c1a9e94068

View file

@ -121,11 +121,11 @@ private:
// T is an enumeration. Note that T is wrapped within an enable_if in the
// former case to workaround compile errors which arise when using
// std::underlying_type<T>::type directly.
typedef typename std::conditional<std::is_enum<T>::value, std::underlying_type<T>,
std::enable_if<true, T>>::type::type StorageType;
using StorageType = typename std::conditional_t<std::is_enum<T>::value, std::underlying_type<T>,
std::enable_if<true, T>>::type;
// Unsigned version of StorageType
typedef typename std::make_unsigned<StorageType>::type StorageTypeU;
using StorageTypeU = std::make_unsigned_t<StorageType>;
public:
/// Constants to allow limited introspection of fields if needed