mirror of
https://github.com/boostorg/container.git
synced 2025-08-03 14:34:27 +02:00
Added SFINAE to constructors
[SVN r77896]
This commit is contained in:
@@ -20,6 +20,8 @@
|
|||||||
#include "config_begin.hpp"
|
#include "config_begin.hpp"
|
||||||
#include <boost/container/detail/workaround.hpp>
|
#include <boost/container/detail/workaround.hpp>
|
||||||
|
|
||||||
|
#include <boost/container/detail/mpl.hpp>
|
||||||
|
#include <boost/container/detail/type_traits.hpp>
|
||||||
#include <boost/container/detail/mpl.hpp>
|
#include <boost/container/detail/mpl.hpp>
|
||||||
#include <boost/container/detail/type_traits.hpp>
|
#include <boost/container/detail/type_traits.hpp>
|
||||||
|
|
||||||
@@ -211,7 +213,11 @@ struct pair
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class D, class S>
|
template <class D, class S>
|
||||||
pair& operator=(const pair<D, S>&p)
|
typename ::boost::container::container_detail::enable_if_c
|
||||||
|
< !(::boost::container::container_detail::is_same<T1, D>::value &&
|
||||||
|
::boost::container::container_detail::is_same<T2, S>::value)
|
||||||
|
, pair &>::type
|
||||||
|
operator=(const pair<D, S>&p)
|
||||||
{
|
{
|
||||||
first = p.first;
|
first = p.first;
|
||||||
second = p.second;
|
second = p.second;
|
||||||
@@ -219,7 +225,11 @@ struct pair
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class D, class S>
|
template <class D, class S>
|
||||||
pair& operator=(BOOST_RV_REF_BEG pair<D, S> BOOST_RV_REF_END p)
|
typename ::boost::container::container_detail::enable_if_c
|
||||||
|
< !(::boost::container::container_detail::is_same<T1, D>::value &&
|
||||||
|
::boost::container::container_detail::is_same<T2, S>::value)
|
||||||
|
, pair &>::type
|
||||||
|
operator=(BOOST_RV_REF_BEG pair<D, S> BOOST_RV_REF_END p)
|
||||||
{
|
{
|
||||||
first = ::boost::move(p.first);
|
first = ::boost::move(p.first);
|
||||||
second = ::boost::move(p.second);
|
second = ::boost::move(p.second);
|
||||||
|
Reference in New Issue
Block a user