Chris@102: ////////////////////////////////////////////////////////////////////////////// Chris@102: // Chris@102: // (C) Copyright Ion Gaztanaga 2014-2015. Distributed under the Boost Chris@102: // Software License, Version 1.0. (See accompanying file Chris@102: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@102: // Chris@102: // See http://www.boost.org/libs/container for documentation. Chris@102: // Chris@102: ////////////////////////////////////////////////////////////////////////////// Chris@102: #ifndef BOOST_CONTAINER_DETAIL_ALLOC_TRAITS_HPP Chris@102: #define BOOST_CONTAINER_DETAIL_ALLOC_TRAITS_HPP Chris@102: Chris@102: #ifndef BOOST_CONFIG_HPP Chris@102: # include Chris@102: #endif Chris@102: Chris@102: #if defined(BOOST_HAS_PRAGMA_ONCE) Chris@102: # pragma once Chris@102: #endif Chris@102: Chris@102: // move Chris@102: #include Chris@102: #include Chris@102: Chris@102: namespace boost { Chris@102: namespace container { Chris@102: namespace container_detail { Chris@102: Chris@102: template Chris@102: inline void swap_alloc(AllocatorType &, AllocatorType &, container_detail::false_type) Chris@102: BOOST_NOEXCEPT_OR_NOTHROW Chris@102: {} Chris@102: Chris@102: template Chris@102: inline void swap_alloc(AllocatorType &l, AllocatorType &r, container_detail::true_type) Chris@102: { boost::adl_move_swap(l, r); } Chris@102: Chris@102: template Chris@102: inline void assign_alloc(AllocatorType &, const AllocatorType &, container_detail::false_type) Chris@102: BOOST_NOEXCEPT_OR_NOTHROW Chris@102: {} Chris@102: Chris@102: template Chris@102: inline void assign_alloc(AllocatorType &l, const AllocatorType &r, container_detail::true_type) Chris@102: { l = r; } Chris@102: Chris@102: template Chris@102: inline void move_alloc(AllocatorType &, AllocatorType &, container_detail::false_type) Chris@102: BOOST_NOEXCEPT_OR_NOTHROW Chris@102: {} Chris@102: Chris@102: template Chris@102: inline void move_alloc(AllocatorType &l, AllocatorType &r, container_detail::true_type) Chris@102: { l = ::boost::move(r); } Chris@102: Chris@102: } //namespace container_detail { Chris@102: } //namespace container { Chris@102: } //namespace boost { Chris@102: Chris@102: #endif //#ifndef BOOST_CONTAINER_DETAIL_ALLOC_TRAITS_HPP