Remove usage of non standard identity struct
std::identity was removed from the standards, but Visual Studio kept it as an extension. Replace it by std::remove_reference, which does just a little bit more than std::identity does, but without impact in this case.
This commit is contained in:
parent
224c779554
commit
bc8356bb83
|
@ -29,7 +29,8 @@ struct bf {
|
||||||
// For enum values, we strip them down to an underlying type.
|
// For enum values, we strip them down to an underlying type.
|
||||||
typedef
|
typedef
|
||||||
typename std::conditional<std::is_enum<T>::value, std::underlying_type<T>,
|
typename std::conditional<std::is_enum<T>::value, std::underlying_type<T>,
|
||||||
std::identity<T>>::type::type value_type;
|
std::remove_reference<T>>::type::type
|
||||||
|
value_type;
|
||||||
inline value_type mask() const {
|
inline value_type mask() const {
|
||||||
return (((value_type)~0) >> (8 * sizeof(value_type) - n_bits)) << position;
|
return (((value_type)~0) >> (8 * sizeof(value_type) - n_bits)) << position;
|
||||||
}
|
}
|
||||||
|
@ -39,4 +40,4 @@ struct bf {
|
||||||
|
|
||||||
} // namespace xe
|
} // namespace xe
|
||||||
|
|
||||||
#endif // XENIA_BASE_BIT_FIELD_H_
|
#endif // XENIA_BASE_BIT_FIELD_H_
|
||||||
|
|
Loading…
Reference in New Issue