Remove implementation detail from compressed pair private inheritance

This commit is contained in:
Alan de Freitas 2021-11-15 15:39:40 -03:00
parent d186ad3539
commit a3ec92334d

View File

@ -347,13 +347,15 @@ namespace details
template <class T1, class T2> template <class T1, class T2>
class compressed_pair class compressed_pair
: private ::boost::details::compressed_pair_imp<T1, T2, #ifndef BOOST_UTILITY_DOCS
: private ::boost::details::compressed_pair_imp<T1, T2,
::boost::details::compressed_pair_switch< ::boost::details::compressed_pair_switch<
T1, T1,
T2, T2,
::boost::is_same<typename remove_cv<T1>::type, typename remove_cv<T2>::type>::value, ::boost::is_same<typename remove_cv<T1>::type, typename remove_cv<T2>::type>::value,
::boost::details::compressed_pair_empty<T1>::value, ::boost::details::compressed_pair_empty<T1>::value,
::boost::details::compressed_pair_empty<T2>::value>::value> ::boost::details::compressed_pair_empty<T2>::value>::value>
#endif // BOOST_UTILITY_DOCS
{ {
private: private:
typedef details::compressed_pair_imp<T1, T2, typedef details::compressed_pair_imp<T1, T2,
@ -392,6 +394,7 @@ public:
// //
template <class T> template <class T>
class compressed_pair<T, T> class compressed_pair<T, T>
#ifndef BOOST_UTILITY_DOCS
: private details::compressed_pair_imp<T, T, : private details::compressed_pair_imp<T, T,
::boost::details::compressed_pair_switch< ::boost::details::compressed_pair_switch<
T, T,
@ -399,6 +402,7 @@ class compressed_pair<T, T>
::boost::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value, ::boost::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value,
::boost::details::compressed_pair_empty<T>::value, ::boost::details::compressed_pair_empty<T>::value,
::boost::details::compressed_pair_empty<T>::value>::value> ::boost::details::compressed_pair_empty<T>::value>::value>
#endif BOOST_UTILITY_DOCS
{ {
private: private:
typedef details::compressed_pair_imp<T, T, typedef details::compressed_pair_imp<T, T,