This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/36962] [C++0x] Add constructors / assignment operators from unique_ptr to shared_ptr
- From: "jwakely dot gcc at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Aug 2008 19:06:10 -0000
- Subject: [Bug libstdc++/36962] [C++0x] Add constructors / assignment operators from unique_ptr to shared_ptr
- References: <bug-36962-16141@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #7 from jwakely dot gcc at gmail dot com 2008-08-05 19:06 -------
(In reply to comment #5)
> Hi again. I have essentially only one substantive comment: can you double check
> the implementation is correct vs 20.7.12.2.1/37 ?
I believe the use of std::ref was to make the D parameter CopyConstructible, as
required by shared_ptr. Since the deleter is stored in the non-copyable
_Sp_counted_deleter class, I thought our implementation was already "equivalent
to" those effects.
On further reflection, I realised the user will be able to tell the difference
via get_deleter() so I will change it to use std::ref.
(In reply to comment #6)
> By the way, I'm under the impression that the differences between the TR1 and
> the C++0x versions are by now too many, way too many macros. At some point we
> should byte the bullet and separate completely for a great clean-up! (I did
> that for tuple, for instance, and it paid off immediately in the occasion of
> the int -> size_t change, more changes to the constructors are expected...)
Agreed - I'll do this too.
Assign this to me if you want - I don't have the bugzilla privileges to accept
it myself.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36962