[Boost-bugs] [Boost C++ Libraries] #13165: inplace_ptr

Subject: [Boost-bugs] [Boost C++ Libraries] #13165: inplace_ptr
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-08-17 10:43:35


#13165: inplace_ptr
------------------------------+----------------------------
 Reporter: gast128@… | Owner: Peter Dimov
     Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: smart_ptr
  Version: Boost 1.64.0 | Severity: Not Applicable
 Keywords: |
------------------------------+----------------------------
 Boost.Optional uses in place object creation. In many cases it could used
 as a drop in repelacment of scoped_ptr with the benefit of circumventing a
 memory allocation and locality of memory access.

 However its semantics is 'optional' and not like a fast replacement of
 scoped_ptr. Wouldn't it be an idea to add something like this to the
 smart_ptr library? Names can be e.g. inplace_ptr, value_ptr, etc. We could
 also use Boost.Optional but colleagues might get confused, since you do
 not use the 'optional' aspect but its performance aspect.

 Note that people might wonder why not use value based directly, but there
 are still some use cases:
 * for pimpl idiom / hide expansive headers (e.g. multi index) in client
 * 2 phase construction, where information is not yet available at parent
 constructor time.

 Only drawback is that you lose polymorphism.

 https://stackoverflow.com/questions/22636407/why-not-use-boostoptional-
 as-a-better-scoped-ptr

-- 
Ticket URL: <https://svn.boost.org/trac10/boost/ticket/13165>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-08-17 10:49:12 UTC