diff --git a/CHANGELOG.md b/CHANGELOG.md index 5421a8c0..e3c12f26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Version 196: + +* Tidy up calls to placement new + +-------------------------------------------------------------------------------- + Version 195: * net is a namespace alias for boost::asio diff --git a/example/common/session_alloc.hpp b/example/common/session_alloc.hpp index 7bd7a84e..7de3a0f6 100644 --- a/example/common/session_alloc.hpp +++ b/example/common/session_alloc.hpp @@ -181,7 +181,7 @@ alloc(std::size_t n) if(end >= buf_ && end + sizeof(element) + n <= buf_ + size_) { - auto& e = *new(end) element{n, used}; + auto& e = *::new(end) element{n, used}; list_.push_back(e); high_ = (std::max)(high_, used); return e.data(); @@ -300,7 +300,8 @@ public: void construct(U* ptr, Args&&... args) { - ::new((void*)ptr) U(std::forward(args)...); + ::new(static_cast(ptr)) U( + std::forward(args)...); } template diff --git a/example/http/server/fast/fields_alloc.hpp b/example/http/server/fast/fields_alloc.hpp index a2126896..4a4c8c4e 100644 --- a/example/http/server/fast/fields_alloc.hpp +++ b/example/http/server/fast/fields_alloc.hpp @@ -43,7 +43,7 @@ public: construct(std::size_t size) { auto p = new char[sizeof(static_pool) + size]; - return *(new(p) static_pool{size}); + return *(::new(p) static_pool{size}); } static_pool& @@ -169,7 +169,8 @@ public: void construct(U* ptr, Args&&... args) { - ::new((void*)ptr) U(std::forward(args)...); + ::new(static_cast(ptr)) U( + std::forward(args)...); } template diff --git a/include/boost/beast/http/impl/fields.ipp b/include/boost/beast/http/impl/fields.ipp index 6b8182d8..93ab8b4c 100644 --- a/include/boost/beast/http/impl/fields.ipp +++ b/include/boost/beast/http/impl/fields.ipp @@ -1168,7 +1168,7 @@ new_element(field name, auto const p = alloc_traits::allocate(a, (sizeof(element) + off + len + 2 + sizeof(align_type) - 1) / sizeof(align_type)); - return *(new(p) element(name, sname, value)); + return *(::new(p) element(name, sname, value)); } template diff --git a/include/boost/beast/websocket/detail/stream_base.hpp b/include/boost/beast/websocket/detail/stream_base.hpp index b7a69391..b029e76d 100644 --- a/include/boost/beast/websocket/detail/stream_base.hpp +++ b/include/boost/beast/websocket/detail/stream_base.hpp @@ -276,7 +276,7 @@ private: 16, sizeof(prng_type)); if(! p) BOOST_THROW_EXCEPTION(std::bad_alloc{}); - return *(new(p) prng_type(seed(), n_++)); + return *(::new(p) prng_type(seed(), n_++)); } void