Use std::void_t

This commit is contained in:
Nekotekina 2018-08-24 00:31:27 +03:00
parent fba4dbf498
commit 6cc7d1fb26
3 changed files with 30 additions and 42 deletions

View file

@ -284,7 +284,7 @@ constexpr bs_t<T> operator -(T lhs, typename bs_base<T>::type rhs)
}
template<typename BS, typename T>
struct atomic_add<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
struct atomic_add<BS, T, std::void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
{
using under = typename bs_base<T>::under;
@ -305,7 +305,7 @@ struct atomic_add<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t
};
template<typename BS, typename T>
struct atomic_sub<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
struct atomic_sub<BS, T, std::void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
{
using under = typename bs_base<T>::under;
@ -326,7 +326,7 @@ struct atomic_sub<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t
};
template<typename BS, typename T>
struct atomic_and<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
struct atomic_and<BS, T, std::void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
{
using under = typename bs_base<T>::under;
@ -347,7 +347,7 @@ struct atomic_and<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t
};
template<typename BS, typename T>
struct atomic_xor<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
struct atomic_xor<BS, T, std::void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
{
using under = typename bs_base<T>::under;
@ -368,7 +368,7 @@ struct atomic_xor<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t
};
template<typename T>
struct atomic_add<T, T, void_t<decltype(T::__bitset_set_type)>>
struct atomic_add<T, T, std::void_t<decltype(T::__bitset_set_type)>>
{
using under = std::underlying_type_t<T>;
@ -389,7 +389,7 @@ struct atomic_add<T, T, void_t<decltype(T::__bitset_set_type)>>
};
template<typename T>
struct atomic_sub<T, T, void_t<decltype(T::__bitset_set_type)>>
struct atomic_sub<T, T, std::void_t<decltype(T::__bitset_set_type)>>
{
using under = std::underlying_type_t<T>;
@ -410,7 +410,7 @@ struct atomic_sub<T, T, void_t<decltype(T::__bitset_set_type)>>
};
template<typename T>
struct atomic_and<T, T, void_t<decltype(T::__bitset_set_type)>>
struct atomic_and<T, T, std::void_t<decltype(T::__bitset_set_type)>>
{
using under = std::underlying_type_t<T>;
@ -431,7 +431,7 @@ struct atomic_and<T, T, void_t<decltype(T::__bitset_set_type)>>
};
template<typename T>
struct atomic_xor<T, T, void_t<decltype(T::__bitset_set_type)>>
struct atomic_xor<T, T, std::void_t<decltype(T::__bitset_set_type)>>
{
using under = std::underlying_type_t<T>;
@ -452,7 +452,7 @@ struct atomic_xor<T, T, void_t<decltype(T::__bitset_set_type)>>
};
template<typename BS, typename T>
struct atomic_test_and_set<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
struct atomic_test_and_set<BS, T, std::void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
{
using under = typename bs_base<T>::under;
@ -467,7 +467,7 @@ struct atomic_test_and_set<BS, T, void_t<decltype(T::__bitset_enum_max), std::en
};
template<typename BS, typename T>
struct atomic_test_and_reset<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
struct atomic_test_and_reset<BS, T, std::void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
{
using under = typename bs_base<T>::under;
@ -482,7 +482,7 @@ struct atomic_test_and_reset<BS, T, void_t<decltype(T::__bitset_enum_max), std::
};
template<typename BS, typename T>
struct atomic_test_and_complement<BS, T, void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
struct atomic_test_and_complement<BS, T, std::void_t<decltype(T::__bitset_enum_max), std::enable_if_t<std::is_same<BS, bs_t<T>>::value>>>
{
using under = typename bs_base<T>::under;
@ -497,7 +497,7 @@ struct atomic_test_and_complement<BS, T, void_t<decltype(T::__bitset_enum_max),
};
template<typename T>
struct atomic_test_and_set<T, T, void_t<decltype(T::__bitset_set_type)>>
struct atomic_test_and_set<T, T, std::void_t<decltype(T::__bitset_set_type)>>
{
using under = std::underlying_type_t<T>;
@ -512,7 +512,7 @@ struct atomic_test_and_set<T, T, void_t<decltype(T::__bitset_set_type)>>
};
template<typename T>
struct atomic_test_and_reset<T, T, void_t<decltype(T::__bitset_set_type)>>
struct atomic_test_and_reset<T, T, std::void_t<decltype(T::__bitset_set_type)>>
{
using under = std::underlying_type_t<T>;
@ -527,7 +527,7 @@ struct atomic_test_and_reset<T, T, void_t<decltype(T::__bitset_set_type)>>
};
template<typename T>
struct atomic_test_and_complement<T, T, void_t<decltype(T::__bitset_set_type)>>
struct atomic_test_and_complement<T, T, std::void_t<decltype(T::__bitset_set_type)>>
{
using under = std::underlying_type_t<T>;
@ -624,7 +624,7 @@ inline bool test_and_complement(T& lhs, T rhs)
}
template<typename T>
struct atomic_or<T, T, void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
struct atomic_or<T, T, std::void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
{
using under = std::underlying_type_t<T>;
@ -645,7 +645,7 @@ struct atomic_or<T, T, void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::
};
template<typename T>
struct atomic_and<T, T, void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
struct atomic_and<T, T, std::void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
{
using under = std::underlying_type_t<T>;
@ -666,7 +666,7 @@ struct atomic_and<T, T, void_t<decltype(T::__bitwise_ops), std::enable_if_t<std:
};
template<typename T>
struct atomic_xor<T, T, void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
struct atomic_xor<T, T, std::void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
{
using under = std::underlying_type_t<T>;
@ -687,7 +687,7 @@ struct atomic_xor<T, T, void_t<decltype(T::__bitwise_ops), std::enable_if_t<std:
};
template<typename T>
struct atomic_test_and_set<T, T, void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
struct atomic_test_and_set<T, T, std::void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
{
using under = std::underlying_type_t<T>;
@ -702,7 +702,7 @@ struct atomic_test_and_set<T, T, void_t<decltype(T::__bitwise_ops), std::enable_
};
template<typename T>
struct atomic_test_and_reset<T, T, void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
struct atomic_test_and_reset<T, T, std::void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
{
using under = std::underlying_type_t<T>;
@ -717,7 +717,7 @@ struct atomic_test_and_reset<T, T, void_t<decltype(T::__bitwise_ops), std::enabl
};
template<typename T>
struct atomic_test_and_complement<T, T, void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
struct atomic_test_and_complement<T, T, std::void_t<decltype(T::__bitwise_ops), std::enable_if_t<std::is_enum<T>::value>>>
{
using under = std::underlying_type_t<T>;