Replace usage of compound is_transparent type trait with singular usage of are_transparent

This commit is contained in:
Christian Mazakas
2021-12-17 09:53:16 -08:00
parent 9945ce7583
commit d8fe1a17cc
2 changed files with 18 additions and 22 deletions
@@ -701,18 +701,23 @@ namespace boost {
////////////////////////////////////////////////////////////////////////////
// Type checkers used for the transparent member functions added by C++20 and up
template <class, class, class = void>
struct is_transparent : public false_type
template <class, class = void> struct is_transparent : public false_type
{
};
template <class X, class T>
struct is_transparent<X, T,
template <class T>
struct is_transparent<T,
typename boost::make_void<typename T::is_transparent>::type>
: public true_type
{
};
template <class, class A, class B> struct are_transparent
{
static bool const value =
is_transparent<A>::value && is_transparent<B>::value;
};
////////////////////////////////////////////////////////////////////////////
// Explicitly call a destructor