]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/container/detail/alloc_helpers.hpp
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / boost / boost / container / detail / alloc_helpers.hpp
CommitLineData
7c673cae
FG
1//////////////////////////////////////////////////////////////////////////////
2//
3// (C) Copyright Ion Gaztanaga 2014-2015. Distributed under the Boost
4// Software License, Version 1.0. (See accompanying file
5// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6//
7// See http://www.boost.org/libs/container for documentation.
8//
9//////////////////////////////////////////////////////////////////////////////
10#ifndef BOOST_CONTAINER_DETAIL_ALLOC_TRAITS_HPP
11#define BOOST_CONTAINER_DETAIL_ALLOC_TRAITS_HPP
12
13#ifndef BOOST_CONFIG_HPP
14# include <boost/config.hpp>
15#endif
16
17#if defined(BOOST_HAS_PRAGMA_ONCE)
18# pragma once
19#endif
20
21// move
22#include <boost/move/adl_move_swap.hpp>
23#include <boost/move/utility_core.hpp>
24
25namespace boost {
26namespace container {
11fdf7f2 27namespace dtl {
7c673cae
FG
28
29template<class AllocatorType>
11fdf7f2 30inline void swap_alloc(AllocatorType &, AllocatorType &, dtl::false_type)
7c673cae
FG
31 BOOST_NOEXCEPT_OR_NOTHROW
32{}
33
34template<class AllocatorType>
11fdf7f2 35inline void swap_alloc(AllocatorType &l, AllocatorType &r, dtl::true_type)
7c673cae
FG
36{ boost::adl_move_swap(l, r); }
37
38template<class AllocatorType>
11fdf7f2 39inline void assign_alloc(AllocatorType &, const AllocatorType &, dtl::false_type)
7c673cae
FG
40 BOOST_NOEXCEPT_OR_NOTHROW
41{}
42
43template<class AllocatorType>
11fdf7f2 44inline void assign_alloc(AllocatorType &l, const AllocatorType &r, dtl::true_type)
7c673cae
FG
45{ l = r; }
46
47template<class AllocatorType>
11fdf7f2 48inline void move_alloc(AllocatorType &, AllocatorType &, dtl::false_type)
7c673cae
FG
49 BOOST_NOEXCEPT_OR_NOTHROW
50{}
51
52template<class AllocatorType>
11fdf7f2 53inline void move_alloc(AllocatorType &l, AllocatorType &r, dtl::true_type)
7c673cae
FG
54{ l = ::boost::move(r); }
55
11fdf7f2 56} //namespace dtl {
7c673cae
FG
57} //namespace container {
58} //namespace boost {
59
60#endif //#ifndef BOOST_CONTAINER_DETAIL_ALLOC_TRAITS_HPP