Created on 2010-03-26.00:00:00 last changed 161 months ago
Proposed resolution:
Change [func.wrap.func.inv]/1+2 as indicated:
R operator()(ArgTypes... args) const1 Effects:: INVOKE(f, std::forward<ArgTypes>(args)...
t1, t2, ..., tN, R) (20.8.2), where f is the target object (20.8.1) of *thisand t1, t2, ..., tN are the values in args....2 Returns: Nothing if R is void, otherwise the return value of INVOKE(f, std::forward<ArgTypes>(args)...
t1, t2, ..., tN, R).3 Throws: bad_function_call if !*this; otherwise, any exception thrown by the wrapped callable object.
[ Adopted at 2010-11 Batavia ]
[ Post-Rapperswil: ]
Moved to Tentatively Ready after 5 positive votes on c++std-lib.
The current wording of [func.wrap.func.inv]/1:
R operator()(ArgTypes... args) constEffects: INVOKE(f, t1, t2, ..., tN, R) (20.8.2), where f is the target object (20.8.1) of *this and t1, t2, ..., tN are the values in args....
uses an unclear relation between the actual args and the used variables ti. It should be made clear, that std::forward has to be used to conserve the expression lvalueness.
History | |||
---|---|---|---|
Date | User | Action | Args |
2011-08-23 20:07:26 | admin | set | status: wp -> c++11 |
2010-11-23 13:22:14 | admin | set | messages: + msg5404 |
2010-11-14 13:10:57 | admin | set | status: voting -> wp |
2010-11-08 14:14:39 | admin | set | status: ready -> voting |
2010-10-21 19:06:53 | admin | set | messages: + msg4772 |
2010-10-21 19:06:53 | admin | set | status: new -> ready |
2010-10-21 18:28:33 | admin | set | messages: + msg1622 |
2010-03-26 00:00:00 | admin | create |