[PATCH] LWG 2899 - Make is_move_constructible correct for unique_ptr
Jonathan Wakely
jwakely@redhat.com
Fri May 17 23:08:00 GMT 2019
On 14/05/19 12:17 +0100, Jonathan Wakely wrote:
> * include/bits/unique_ptr.h (__uniq_ptr_impl): Add move constructor,
> move assignment operator.
> (__uniq_ptr_impl::release(), __uniq_ptr_impl::reset(pointer)): Add.
> (__uniq_ptr_data): New class template with conditionally deleted
> special members.
> (unique_ptr, unique_ptr<T[], D>): Change type of data member from
> __uniq_ptr_impl<T, D> to __uniq_ptr_data<T, D>. Define move
> constructor and move assignment operator as defaulted.
> (unique_ptr::release(), unique_ptr<T[], D>::release()): Forward to
> __uniq_ptr_impl::release().
> (unique_ptr::reset(pointer), unique_ptr<T[], D>::reset<U>(U)): Forward
> to __uniq_ptr_impl::reset(pointer).
> * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
> Check for new __uniq_ptr_data type.
> * testsuite/20_util/unique_ptr/dr2899.cc: New test.
This updates the Xmethod for the new base class.
Tested x86_64-linux, committed to trunk.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 2754 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20190517/93c44de7/attachment.bin>
More information about the Libstdc++
mailing list