Ticket #8842 (closed Patches: fixed)
BOOST_MOVABLE_BUT_NOT_COPYABLE and is_copy_constructible<T> trait
|Reported by:||apolukhin||Owned by:||igaztanaga|
There is a ticket #8802 to add is_copy_constructible<T> trait. Unfortunately, for correct work of that trait in C++03/C++98 with BOOST_MOVABLE_BUT_NOT_COPYABLE macro some changes for Boost.Move are required.
Boost.Move requires the following patch applied to to BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN in boost/move/core.hpp :
#ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \ private:\ TYPE(TYPE &);\ TYPE& operator=(TYPE &);\ + public: \ + typedef int boost_move_no_copy_constructor_or_assign; \ + private: \ // #else
Some tests for that case already exist in boost/type_traits/is_copy_constructible.hpp, I'll uncomment them when this patch will be applied.
Motivation: Without that patch it is impossible to have a nice implementation of move_if_noexcept, that is going to be used by Boost.CircularBuffer? and may be used by other containers.
P.S.: If you wish and have no spare time, I can apply this patch and add some tests to Boost.Move
- Status changed from new to closed
- Resolution set to fixed