Subject: [boost] Should intrusive_ptr copy constructors be declared noexcept?
From: James Yonan (james_at_[hidden])
Date: 2014-08-16 00:53:45
Currently, intrusive_ptr's copy constructors are not declared noexcept.
This disables the std::function small object optimization when
intrusive_ptr objects are passed by value in a lambda closure.
The attached patch tries to fix this by making the copy constructors
conditionally noexcept, based on the noexcept status of the
user-provided intrusive_ptr_add_ref function.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk