summaryrefslogtreecommitdiff
path: root/boost/container/allocator.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/container/allocator.hpp')
-rw-r--r--boost/container/allocator.hpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/boost/container/allocator.hpp b/boost/container/allocator.hpp
index 8489f48fcd..b245c6f40b 100644
--- a/boost/container/allocator.hpp
+++ b/boost/container/allocator.hpp
@@ -27,6 +27,9 @@
#include <boost/container/detail/dlmalloc.hpp>
#include <boost/container/detail/multiallocation_chain.hpp>
#include <boost/static_assert.hpp>
+
+#include <boost/move/detail/force_ptr.hpp>
+
#include <cstddef>
#include <cassert>
@@ -298,7 +301,8 @@ class allocator
,(T*)BOOST_CONTAINER_MEMCHAIN_LASTMEM(&ch)
,BOOST_CONTAINER_MEMCHAIN_SIZE(&ch) );
/*
- if(!dlmalloc_multialloc_nodes(n_elements, elem_size*sizeof(T), BOOST_CONTAINER_DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast<dlmalloc_memchain *>(&chain))){
+ if(!dlmalloc_multialloc_nodes( n_elements, elem_size*sizeof(T), BOOST_CONTAINER_DL_MULTIALLOC_DEFAULT_CONTIGUOUS
+ , move_detail::force_ptr<dlmalloc_memchain *>(&chain))){
boost::container::throw_bad_alloc();
}*/
}
@@ -319,7 +323,8 @@ class allocator
,(T*)BOOST_CONTAINER_MEMCHAIN_LASTMEM(&ch)
,BOOST_CONTAINER_MEMCHAIN_SIZE(&ch) );
/*
- if(!dlmalloc_multialloc_arrays(n_elements, elem_sizes, sizeof(T), BOOST_CONTAINER_DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast<dlmalloc_memchain *>(&chain))){
+ if(!dlmalloc_multialloc_arrays( n_elements, elem_sizes, sizeof(T), BOOST_CONTAINER_DL_MULTIALLOC_DEFAULT_CONTIGUOUS
+ , move_detail::force_ptr<dlmalloc_memchain *>(&chain))){
boost::container::throw_bad_alloc();
}*/
}
@@ -335,7 +340,7 @@ class allocator
size_t size(chain.size());
BOOST_CONTAINER_MEMCHAIN_INIT_FROM(&ch, beg, last, size);
dlmalloc_multidealloc(&ch);
- //dlmalloc_multidealloc(reinterpret_cast<dlmalloc_memchain *>(&chain));
+ //dlmalloc_multidealloc(move_detail::force_ptr<dlmalloc_memchain *>(&chain));
}
private:
@@ -347,7 +352,7 @@ class allocator
{
std::size_t const preferred_size = prefer_in_recvd_out_size;
dlmalloc_command_ret_t ret = {0 , 0};
- if((limit_size > this->max_size()) | (preferred_size > this->max_size())){
+ if((limit_size > this->max_size()) || (preferred_size > this->max_size())){
return pointer();
}
std::size_t l_size = limit_size*sizeof(T);