Created on 2009-12-13.00:00:00 last changed 161 months ago
Proposed resolution:
In [func.wrap.func.con]
template<class F> function& operator=(F&& f);20 Effects: function(std::forward<F>(f)).swap(*this);
21 Returns: *this
In [func.wrap.func.mod]
template<class F,Allocator Allocclass A> void assign(F&& f, const Alloc& a);3 Effects: function(
f, aallocator_arg, a, std::forward<F>(f)).swap(*this);
Update member function signature for class template in [func.wrap.func]
template<class F> function& operator=(F&&); template<class F, class A> void assign(F&&, const A&);
[ 2010-02-11 Moved to Tentatively Ready after 5 positive votes on c++std-lib. ]
[ 201002-11 Opened by Alisdair for the purpose of merging 1258 into this issue as there is a minor conflict. ]
[ 2009-12-16 Moved to Tentatively Ready after 5 positive votes on c++std-lib. ]
In [func.wrap.func.con]
template<class F> function& operator=(F f);20 Effects: function(f).swap(*this);
21 Returns: *this
This assignment operator can be called such that F is an rvalue-reference e.g.
func.operator=<F&&>(f);
There are two issues with this.
The same issues apply to function::assign.
N.B. this issue is not related to 1287 and applies whether that issue is resolved or not. The wording below assumes the resolution of LWG 1258 has been applied.
History | |||
---|---|---|---|
Date | User | Action | Args |
2011-08-23 20:07:26 | admin | set | status: wp -> c++11 |
2010-10-21 18:28:33 | admin | set | messages: + msg1462 |
2010-10-21 18:28:33 | admin | set | messages: + msg1461 |
2010-10-21 18:28:33 | admin | set | messages: + msg1460 |
2010-10-21 18:28:33 | admin | set | messages: + msg1459 |
2009-12-13 00:00:00 | admin | create |