mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-04 05:51:27 +12:00
is_be_t, is_le_t fixed
This commit is contained in:
parent
d8b1c3118a
commit
9c1c3bffbe
1 changed files with 22 additions and 6 deletions
|
@ -766,6 +766,14 @@ template<typename T> struct is_be_t<be_t<T>> : public std::integral_constant<boo
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename T> struct is_be_t<const T> : public std::integral_constant<bool, is_be_t<T>::value>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename T> struct is_be_t<volatile T> : public std::integral_constant<bool, is_be_t<T>::value>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
// to_be_t helper struct
|
// to_be_t helper struct
|
||||||
template<typename T> struct to_be
|
template<typename T> struct to_be
|
||||||
{
|
{
|
||||||
|
@ -778,13 +786,13 @@ template<typename T> using to_be_t = typename to_be<T>::type;
|
||||||
template<typename T> struct to_be<const T>
|
template<typename T> struct to_be<const T>
|
||||||
{
|
{
|
||||||
// move const qualifier
|
// move const qualifier
|
||||||
using type = const to_be_t<std::remove_const_t<T>>;
|
using type = const to_be_t<T>;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T> struct to_be<volatile T>
|
template<typename T> struct to_be<volatile T>
|
||||||
{
|
{
|
||||||
// move volatile qualifier
|
// move volatile qualifier
|
||||||
using type = volatile to_be_t<std::remove_volatile_t<T>>;
|
using type = volatile to_be_t<T>;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<> struct to_be<void> { using type = void; };
|
template<> struct to_be<void> { using type = void; };
|
||||||
|
@ -895,6 +903,14 @@ template<typename T> struct is_le_t<le_t<T>> : public std::integral_constant<boo
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename T> struct is_le_t<const T> : public std::integral_constant<bool, is_le_t<T>::value>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename T> struct is_le_t<volatile T> : public std::integral_constant<bool, is_le_t<T>::value>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
template<typename T> struct to_le
|
template<typename T> struct to_le
|
||||||
{
|
{
|
||||||
using type = std::conditional_t<std::is_arithmetic<T>::value || std::is_enum<T>::value || std::is_same<T, u128>::value, le_t<T>, T>;
|
using type = std::conditional_t<std::is_arithmetic<T>::value || std::is_enum<T>::value || std::is_same<T, u128>::value, le_t<T>, T>;
|
||||||
|
@ -906,13 +922,13 @@ template<typename T> using to_le_t = typename to_le<T>::type;
|
||||||
template<typename T> struct to_le<const T>
|
template<typename T> struct to_le<const T>
|
||||||
{
|
{
|
||||||
// move const qualifier
|
// move const qualifier
|
||||||
using type = const to_le_t<std::remove_const_t<T>>;
|
using type = const to_le_t<T>;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T> struct to_le<volatile T>
|
template<typename T> struct to_le<volatile T>
|
||||||
{
|
{
|
||||||
// move volatile qualifier
|
// move volatile qualifier
|
||||||
using type = volatile to_le_t<std::remove_volatile_t<T>>;
|
using type = volatile to_le_t<T>;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<> struct to_le<void> { using type = void; };
|
template<> struct to_le<void> { using type = void; };
|
||||||
|
@ -943,11 +959,11 @@ template<typename T> using to_ne_t = typename to_ne<T>::type;
|
||||||
template<typename T> struct to_ne<const T>
|
template<typename T> struct to_ne<const T>
|
||||||
{
|
{
|
||||||
// move const qualifier
|
// move const qualifier
|
||||||
using type = const to_ne_t<std::remove_const_t<T>>;
|
using type = const to_ne_t<T>;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T> struct to_ne<volatile T>
|
template<typename T> struct to_ne<volatile T>
|
||||||
{
|
{
|
||||||
// move volatile qualifier
|
// move volatile qualifier
|
||||||
using type = volatile to_ne_t<std::remove_volatile_t<T>>;
|
using type = volatile to_ne_t<T>;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue