From b5c25ea058ce3493f12dbc2348c7075cad941976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Thu, 31 Jan 2019 00:27:30 +0100 Subject: [PATCH] Use boost::container placement new to avoid ambiguities in overload resolution. --- include/boost/container/detail/block_list.hpp | 3 ++- include/boost/container/detail/block_slist.hpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/boost/container/detail/block_list.hpp b/include/boost/container/detail/block_list.hpp index 1a6057c..0ed0e22 100644 --- a/include/boost/container/detail/block_list.hpp +++ b/include/boost/container/detail/block_list.hpp @@ -27,6 +27,7 @@ #include #include #include +#include #include @@ -100,7 +101,7 @@ class block_list_base if((size_t(-1) - header_size) < size) throw_bad_alloc(); void *p = mr.allocate(size+header_size); - block_list_header &mb = *::new((void*)p) DerivedFromBlockListHeader; + block_list_header &mb = *::new((void*)p, boost_container_new_t()) DerivedFromBlockListHeader; mb.size = size+header_size; list_algo::link_after(&m_list, &mb); return (char *)p + header_size; diff --git a/include/boost/container/detail/block_slist.hpp b/include/boost/container/detail/block_slist.hpp index 278e641..890e725 100644 --- a/include/boost/container/detail/block_slist.hpp +++ b/include/boost/container/detail/block_slist.hpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -94,7 +95,7 @@ class block_slist_base if((size_t(-1) - header_size) < size) throw_bad_alloc(); void *p = mr.allocate(size+header_size); - block_slist_header &mb = *::new((void*)p) DerivedFromBlockSlistHeader; + block_slist_header &mb = *::new((void*)p, boost_container_new_t()) DerivedFromBlockSlistHeader; mb.size = size+header_size; slist_algo::link_after(&m_slist, &mb); return (char *)p + header_size;