Jonathan Wakely
|
8dd5e93af6
|
shared_ptr.h: Update comparisons to match WP.
2008-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/shared_ptr.h: Update comparisons to match WP.
(_Sp_counted_ptr): Make copy and assignment members deleted.
(_Sp_counted_deleter): Remove private copy and assignment members.
(__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
friend operator< with overloaded _M_less member functions to allow
comparison with either shared_count or weak_count.
(__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
(__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
for ownership-based ordering.
(operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
make non-friend.
(operator==(__shared_ptr,__shared_ptr)): Make non-friend.
(operator!=(__shared_ptr,__shared_ptr)): Likewise.
(less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
pointer specialization.
(__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
weak_ptr::operator>=): Remove operator< and delete all comparisons.
(_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
(operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
(operator==(shared_ptr,shared_ptr): Likewise.
(operator!=(shared_ptr,shared_ptr): Likewise.
(swap(shared_ptr,shared_ptr)): Fix parameter types.
(swap(weak_ptr,weak_ptr)): Add missing overload.
* testsuite/20_util/owner_less/cmp.cc: New.
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
* testsuite/20_util/shared_ptr/comparison/less.cc: New.
* testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
* testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.
From-SVN: r141512
|
2008-11-01 11:29:06 +00:00 |
Paolo Carlini
|
c78a2119d8
|
shared_ptr.h (__shared_count<>:: __shared_count(_Ptr, _Deleter), [...]): Qualify new with ::.
2008-09-18 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/shared_ptr.h (__shared_count<>::
__shared_count(_Ptr, _Deleter), __shared_count<>::
__shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
__shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
Qualify new with ::.
From-SVN: r140469
|
2008-09-18 18:55:55 +00:00 |
Jonathan Wakely
|
640cbe76c7
|
re PR libstdc++/36962 ([C++0x] Add constructors / assignment operators from unique_ptr to shared_ptr)
PR libstdc++/36962
* include/Makefile.am: Update headers.
* include/Makefile.in: Regenerate.
* include/std/memory: Update headers.
* include/tr1/memory: Likewise.
* include/tr1_impl/boost_shared_ptr.h: Remove, splitting into
separate implementations for std and tr1.
* include/bits/boost_sp_shared_count.h: Remove.
* include/tr1/boost_sp_shared_count.h: Remove.
* include/bits/shared_ptr.h: New. Combines boost_sp_shared_count.h
and boost_shared_ptr.h into one file.
(__shared_count,__shared_ptr,shared_ptr,swap): Add unique_ptr
and rvalue-reference support as per current WP.
* include/tr1/shared_ptr.h: New. Combines boost_sp_shared_count.h
and boost_shared_ptr.h into one file.
* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: New.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: New.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: New.
* testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: New.
* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: New.
* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: New.
* testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: New.
* testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: New.
* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Remove.
From-SVN: r140012
|
2008-09-04 23:33:10 +01:00 |