diff options
Diffstat (limited to 'src/third_party/boost-1.60.0/boost/thread/detail/memory.hpp')
-rw-r--r-- | src/third_party/boost-1.60.0/boost/thread/detail/memory.hpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/third_party/boost-1.60.0/boost/thread/detail/memory.hpp b/src/third_party/boost-1.60.0/boost/thread/detail/memory.hpp new file mode 100644 index 00000000000..51ce84f40bc --- /dev/null +++ b/src/third_party/boost-1.60.0/boost/thread/detail/memory.hpp @@ -0,0 +1,48 @@ +////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2011-2013 Vicente J. Botet Escriba +// +// 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/thread for documentation. +// +////////////////////////////////////////////////////////////////////////////// + +#ifndef BOOST_THREAD_DETAIL_MEMORY_HPP +#define BOOST_THREAD_DETAIL_MEMORY_HPP + +#include <boost/config.hpp> + +#include <boost/thread/csbl/memory/pointer_traits.hpp> +#include <boost/thread/csbl/memory/allocator_arg.hpp> +#include <boost/thread/csbl/memory/allocator_traits.hpp> +#include <boost/thread/csbl/memory/scoped_allocator.hpp> + +namespace boost +{ + namespace thread_detail + { + template <class _Alloc> + class allocator_destructor + { + typedef csbl::allocator_traits<_Alloc> alloc_traits; + public: + typedef typename alloc_traits::pointer pointer; + typedef typename alloc_traits::size_type size_type; + private: + _Alloc alloc_; + size_type s_; + public: + allocator_destructor(_Alloc& a, size_type s)BOOST_NOEXCEPT + : alloc_(a), s_(s) + {} + void operator()(pointer p)BOOST_NOEXCEPT + { + alloc_traits::destroy(alloc_, p); + alloc_traits::deallocate(alloc_, p, s_); + } + }; + } //namespace thread_detail +} +#endif // BOOST_THREAD_DETAIL_MEMORY_HPP |