diff options
Diffstat (limited to '3rdParty/Boost/src/boost/container/detail/pair.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/container/detail/pair.hpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/3rdParty/Boost/src/boost/container/detail/pair.hpp b/3rdParty/Boost/src/boost/container/detail/pair.hpp index 2a20ed1..0d7e0a9 100644 --- a/3rdParty/Boost/src/boost/container/detail/pair.hpp +++ b/3rdParty/Boost/src/boost/container/detail/pair.hpp @@ -1,65 +1,66 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2012. +// (C) Copyright Ion Gaztanaga 2005-2013. // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_CONTAINER_CONTAINER_DETAIL_PAIR_HPP #define BOOST_CONTAINER_CONTAINER_DETAIL_PAIR_HPP -#if (defined _MSC_VER) && (_MSC_VER >= 1200) +#if defined(_MSC_VER) # pragma once #endif -#include "config_begin.hpp" +#include <boost/container/detail/config_begin.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/type_traits.hpp> #include <utility> //std::pair +#include <algorithm> //std::swap -#include <boost/move/move.hpp> +#include <boost/move/utility.hpp> #include <boost/type_traits/is_class.hpp> #ifndef BOOST_CONTAINER_PERFECT_FORWARDING #include <boost/container/detail/preprocessor.hpp> #endif namespace boost { namespace container { namespace container_detail { template <class T1, class T2> struct pair; template <class T> struct is_pair { static const bool value = false; }; template <class T1, class T2> struct is_pair< pair<T1, T2> > { static const bool value = true; }; template <class T1, class T2> struct is_pair< std::pair<T1, T2> > { static const bool value = true; }; struct pair_nat; struct piecewise_construct_t { }; static const piecewise_construct_t piecewise_construct = piecewise_construct_t(); @@ -304,50 +305,50 @@ inline bool operator<=(const pair<T1,T2>& x, const pair<T1,T2>& y) template <class T1, class T2> inline pair<T1, T2> make_pair(T1 x, T2 y) { return pair<T1, T2>(x, y); } template <class T1, class T2> inline void swap(pair<T1, T2>& x, pair<T1, T2>& y) { swap(x.first, y.first); swap(x.second, y.second); } } //namespace container_detail { } //namespace container { //Without this specialization recursive flat_(multi)map instantiation fails //because is_enum needs to instantiate the recursive pair, leading to a compilation error). //This breaks the cycle clearly stating that pair is not an enum avoiding any instantiation. template<class T> struct is_enum; template<class T, class U> struct is_enum< ::boost::container::container_detail::pair<T, U> > { static const bool value = false; }; //This specialization is needed to avoid instantiation of pair in //is_class, and allow recursive maps. template <class T1, class T2> struct is_class< ::boost::container::container_detail::pair<T1, T2> > : public ::boost::true_type {}; -#ifdef BOOST_NO_RVALUE_REFERENCES +#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES template<class T1, class T2> struct has_move_emulation_enabled< ::boost::container::container_detail::pair<T1, T2> > : ::boost::true_type {}; #endif } //namespace boost { #include <boost/container/detail/config_end.hpp> #endif //#ifndef BOOST_CONTAINER_DETAIL_PAIR_HPP |