Chris@102: ////////////////////////////////////////////////////////////////////////////// Chris@102: // Chris@102: // (C) Copyright Ion Gaztanaga 2014-2014. Chris@102: // Chris@102: // Distributed under the Boost Software License, Version 1.0. Chris@102: // (See accompanying file LICENSE_1_0.txt or copy at Chris@102: // 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: Chris@102: #ifndef BOOST_CONTAINER_DETAIL_CONSTRUCT_IN_PLACE_HPP Chris@102: #define BOOST_CONTAINER_DETAIL_CONSTRUCT_IN_PLACE_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: #include Chris@102: #include Chris@102: Chris@102: namespace boost { Chris@102: namespace container { Chris@102: Chris@102: template Chris@102: inline void construct_in_place(Allocator &a, T* dest, InpIt source) Chris@102: { boost::container::allocator_traits::construct(a, dest, *source); } Chris@102: Chris@102: template Chris@102: inline void construct_in_place(Allocator &a, T *dest, value_init_construct_iterator) Chris@102: { Chris@102: boost::container::allocator_traits::construct(a, dest); Chris@102: } Chris@102: Chris@102: template Chris@102: class default_init_construct_iterator; Chris@102: Chris@102: template Chris@102: inline void construct_in_place(Allocator &a, T *dest, default_init_construct_iterator) Chris@102: { Chris@102: boost::container::allocator_traits::construct(a, dest, default_init); Chris@102: } Chris@102: Chris@102: template Chris@102: class emplace_iterator; Chris@102: Chris@102: template Chris@102: inline void construct_in_place(Allocator &a, T *dest, emplace_iterator ei) Chris@102: { Chris@102: ei.construct_in_place(a, dest); Chris@102: } Chris@102: Chris@102: } //namespace container { Chris@102: } //namespace boost { Chris@102: Chris@102: #endif //#ifndef BOOST_CONTAINER_DETAIL_CONSTRUCT_IN_PLACE_HPP Chris@102: