update boost on linux
This commit is contained in:
@@ -26,14 +26,12 @@ namespace pmr {
|
||||
|
||||
template <class Key
|
||||
,class T
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Compare = std::less<Key > >
|
||||
using flat_map = boost::container::flat_map<Key, T, Compare, polymorphic_allocator<std::pair<Key, T> > >;
|
||||
|
||||
template <class Key
|
||||
,class T
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Compare = std::less<Key> >
|
||||
using flat_multimap = boost::container::flat_multimap<Key, T, Compare, polymorphic_allocator<std::pair<Key, T> > >;
|
||||
|
||||
#endif
|
||||
@@ -42,8 +40,7 @@ using flat_multimap = boost::container::flat_multimap<Key, T, Compare, polymorph
|
||||
//! that uses a polymorphic allocator
|
||||
template <class Key
|
||||
,class T
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Compare = std::less<Key> >
|
||||
struct flat_map_of
|
||||
{
|
||||
typedef boost::container::flat_map<Key, T, Compare, polymorphic_allocator<std::pair<Key, T> > > type;
|
||||
@@ -53,8 +50,7 @@ struct flat_map_of
|
||||
//! that uses a polymorphic allocator
|
||||
template <class Key
|
||||
,class T
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Compare = std::less<Key> >
|
||||
struct flat_multimap_of
|
||||
{
|
||||
typedef boost::container::flat_multimap<Key, T, Compare, polymorphic_allocator<std::pair<Key, T> > > type;
|
||||
|
||||
@@ -25,13 +25,11 @@ namespace pmr {
|
||||
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
|
||||
|
||||
template <class Key
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Compare = std::less<Key> >
|
||||
using flat_set = boost::container::flat_set<Key, Compare, polymorphic_allocator<Key> >;
|
||||
|
||||
template <class Key
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Compare = std::less<Key> >
|
||||
using flat_multiset = boost::container::flat_multiset<Key, Compare, polymorphic_allocator<Key> >;
|
||||
|
||||
#endif
|
||||
@@ -39,8 +37,7 @@ using flat_multiset = boost::container::flat_multiset<Key, Compare, polymorphic_
|
||||
//! A portable metafunction to obtain a flat_set
|
||||
//! that uses a polymorphic allocator
|
||||
template <class Key
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Compare = std::less<Key> >
|
||||
struct flat_set_of
|
||||
{
|
||||
typedef boost::container::flat_set<Key, Compare, polymorphic_allocator<Key> > type;
|
||||
@@ -49,8 +46,7 @@ struct flat_set_of
|
||||
//! A portable metafunction to obtain a flat_multiset
|
||||
//! that uses a polymorphic allocator
|
||||
template <class Key
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Compare = std::less<Key> >
|
||||
struct flat_multiset_of
|
||||
{
|
||||
typedef boost::container::flat_multiset<Key, Compare, polymorphic_allocator<Key> > type;
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <boost/container/detail/config_begin.hpp>
|
||||
#include <boost/container/detail/workaround.hpp>
|
||||
#include <boost/container/detail/auto_link.hpp>
|
||||
#include <boost/container/container_fwd.hpp>
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
@@ -25,10 +26,6 @@ namespace boost {
|
||||
namespace container {
|
||||
namespace pmr {
|
||||
|
||||
/// @cond
|
||||
class memory_resource;
|
||||
/// @endcond
|
||||
|
||||
//! <b>Returns</b>: A pointer to a static-duration object of a type derived from
|
||||
//! memory_resource that can serve as a resource for allocating memory using
|
||||
//! global `operator new` and global `operator delete`. The same value is returned every time this function
|
||||
|
||||
@@ -27,13 +27,13 @@ namespace pmr {
|
||||
template <class Key
|
||||
,class T
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Options = void >
|
||||
using map = boost::container::map<Key, T, Compare, polymorphic_allocator<std::pair<const Key, T> >, Options>;
|
||||
|
||||
template <class Key
|
||||
,class T
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Options = void >
|
||||
using multimap = boost::container::multimap<Key, T, Compare, polymorphic_allocator<std::pair<const Key, T> >, Options>;
|
||||
|
||||
#endif
|
||||
@@ -43,7 +43,7 @@ using multimap = boost::container::multimap<Key, T, Compare, polymorphic_allocat
|
||||
template <class Key
|
||||
,class T
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Options = void >
|
||||
struct map_of
|
||||
{
|
||||
typedef boost::container::map<Key, T, Compare, polymorphic_allocator<std::pair<const Key, T> >, Options> type;
|
||||
@@ -54,7 +54,7 @@ struct map_of
|
||||
template <class Key
|
||||
,class T
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Options = void >
|
||||
struct multimap_of
|
||||
{
|
||||
typedef boost::container::multimap<Key, T, Compare, polymorphic_allocator<std::pair<const Key, T> >, Options> type;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
#include <boost/container/detail/config_begin.hpp>
|
||||
#include <boost/container/detail/workaround.hpp>
|
||||
#include <boost/container/container_fwd.hpp>
|
||||
#include <boost/move/detail/type_traits.hpp>
|
||||
#include <cstddef>
|
||||
|
||||
@@ -26,7 +27,7 @@ namespace pmr {
|
||||
|
||||
//! The memory_resource class is an abstract interface to an
|
||||
//! unbounded set of classes encapsulating memory resources.
|
||||
class memory_resource
|
||||
class BOOST_CONTAINER_DECL memory_resource
|
||||
{
|
||||
public:
|
||||
// For exposition only
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <boost/container/detail/config_begin.hpp>
|
||||
#include <boost/container/detail/workaround.hpp>
|
||||
#include <boost/container/detail/auto_link.hpp>
|
||||
#include <boost/container/container_fwd.hpp>
|
||||
#include <boost/container/pmr/memory_resource.hpp>
|
||||
#include <boost/container/detail/block_slist.hpp>
|
||||
|
||||
@@ -51,9 +52,11 @@ class BOOST_CONTAINER_DECL monotonic_buffer_resource
|
||||
: public memory_resource
|
||||
{
|
||||
block_slist m_memory_blocks;
|
||||
void* m_current_buffer;
|
||||
void * m_current_buffer;
|
||||
std::size_t m_current_buffer_size;
|
||||
std::size_t m_next_buffer_size;
|
||||
void * const m_initial_buffer;
|
||||
std::size_t const m_initial_buffer_size;
|
||||
|
||||
/// @cond
|
||||
void increase_next_buffer();
|
||||
@@ -131,7 +134,7 @@ class BOOST_CONTAINER_DECL monotonic_buffer_resource
|
||||
std::size_t remaining_storage(std::size_t alignment = 1u) const BOOST_NOEXCEPT;
|
||||
|
||||
//! <b>Returns</b>:
|
||||
//! The number of bytes of storage available for the specified alignment.
|
||||
//! The address pointing to the start of the current free storage.
|
||||
//!
|
||||
//! <b>Note</b>: Non-standard extension.
|
||||
const void *current_buffer() const BOOST_NOEXCEPT;
|
||||
|
||||
@@ -92,20 +92,20 @@ class polymorphic_allocator
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
//! <b>Requires</b>: Uses-allocator construction of T with allocator
|
||||
//! `this->resource()` and constructor arguments `std::forward<Args>(args)...`
|
||||
//! `*this` and constructor arguments `std::forward<Args>(args)...`
|
||||
//! is well-formed. [Note: uses-allocator construction is always well formed for
|
||||
//! types that do not use allocators. - end note]
|
||||
//!
|
||||
//! <b>Effects</b>: Construct a T object at p by uses-allocator construction with allocator
|
||||
//! `this->resource()` and constructor arguments `std::forward<Args>(args)...`.
|
||||
//! `*this` and constructor arguments `std::forward<Args>(args)...`.
|
||||
//!
|
||||
//! <b>Throws</b>: Nothing unless the constructor for T throws.
|
||||
template < typename U, class ...Args>
|
||||
void construct(U* p, BOOST_FWD_REF(Args)...args)
|
||||
{
|
||||
new_allocator<U> na;
|
||||
container_detail::dispatch_uses_allocator
|
||||
(na, this->resource(), p, ::boost::forward<Args>(args)...);
|
||||
dtl::dispatch_uses_allocator
|
||||
(na, *this, p, ::boost::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
#else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
@@ -117,8 +117,8 @@ class polymorphic_allocator
|
||||
void construct(U* p BOOST_MOVE_I##N BOOST_MOVE_UREFQ##N)\
|
||||
{\
|
||||
new_allocator<U> na;\
|
||||
container_detail::dispatch_uses_allocator\
|
||||
(na, this->resource(), p BOOST_MOVE_I##N BOOST_MOVE_FWDQ##N);\
|
||||
dtl::dispatch_uses_allocator\
|
||||
(na, *this, p BOOST_MOVE_I##N BOOST_MOVE_FWDQ##N);\
|
||||
}\
|
||||
//
|
||||
BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_PMR_POLYMORPHIC_ALLOCATOR_CONSTRUCT_CODE)
|
||||
|
||||
@@ -57,7 +57,7 @@ class resource_adaptor_imp
|
||||
void static_assert_if_not_char_allocator() const
|
||||
{
|
||||
//This class can only be used with allocators type char
|
||||
BOOST_STATIC_ASSERT((container_detail::is_same<typename Allocator::value_type, char>::value));
|
||||
BOOST_STATIC_ASSERT((dtl::is_same<typename Allocator::value_type, char>::value));
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -172,7 +172,7 @@ class resource_adaptor
|
||||
{}
|
||||
|
||||
explicit resource_adaptor(BOOST_RV_REF(Allocator) a2)
|
||||
: base_t(BOOST_MOVE_BASE(base_t, a2))
|
||||
: base_t(::boost::move(a2))
|
||||
{}
|
||||
|
||||
resource_adaptor& operator=(BOOST_COPY_ASSIGN_REF(resource_adaptor) other)
|
||||
|
||||
@@ -26,12 +26,12 @@ namespace pmr {
|
||||
|
||||
template <class Key
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Options = void >
|
||||
using set = boost::container::set<Key, Compare, polymorphic_allocator<Key>, Options>;
|
||||
|
||||
template <class Key
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Options = void >
|
||||
using multiset = boost::container::multiset<Key, Compare, polymorphic_allocator<Key>, Options>;
|
||||
|
||||
#endif
|
||||
@@ -40,7 +40,7 @@ using multiset = boost::container::multiset<Key, Compare, polymorphic_allocator<
|
||||
//! that uses a polymorphic allocator
|
||||
template <class Key
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Options = void >
|
||||
struct set_of
|
||||
{
|
||||
typedef boost::container::set<Key, Compare, polymorphic_allocator<Key>, Options> type;
|
||||
@@ -50,7 +50,7 @@ struct set_of
|
||||
//! that uses a polymorphic allocator
|
||||
template <class Key
|
||||
,class Compare = std::less<Key>
|
||||
,class Options = tree_assoc_defaults >
|
||||
,class Options = void >
|
||||
struct multiset_of
|
||||
{
|
||||
typedef boost::container::multiset<Key, Compare, polymorphic_allocator<Key>, Options> type;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <boost/container/detail/auto_link.hpp>
|
||||
#include <boost/container/pmr/memory_resource.hpp>
|
||||
#include <boost/container/detail/pool_resource.hpp>
|
||||
#include <boost/container/detail/thread_mutex.hpp>
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
@@ -60,8 +61,8 @@ namespace pmr {
|
||||
class BOOST_CONTAINER_DECL synchronized_pool_resource
|
||||
: public memory_resource
|
||||
{
|
||||
pool_resource m_pool_resource;
|
||||
void *m_opaque_sync;
|
||||
dtl::thread_mutex m_mut;
|
||||
pool_resource m_pool_resource;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user