Boost logo

Boost :

Subject: Re: [boost] [move][unique_ptr] c++14 unique_ptr comes to town
From: Peter Dimov (lists_at_[hidden])
Date: 2014-08-27 20:02:20

> In my implementation, I've went with perfect forwarding instead of the two
> constructor signatures described in the standard.

Actually, I'm not sure how you implement the standard requirement in C++03.
If you do that:

    The signature of these constructors depends upon whether D is a
reference type.
    If D is non-reference type A, then the signatures are:

    unique_ptr(pointer p, const A& d);
    unique_ptr(pointer p, A&& d);

(and it seems that you do) deleter rvalues will always bind to A const& in
C++03, never to rv<A>, as we saw in the recent thread. So it seems that

    unique_ptr<T>( p, D() )

will fail for a movable, noncopyable, D.

    unique_ptr<T>( p, move(d) )

will work though.

Boost list run by bdawes at, gregod at, cpdaniel at, john at