Title
Garbled requirements for argument_type in reference_wrapper
Status
cd1
Section
[refwrap][tr.util.refwrp.refwrp]
Submitter
Pete Becker

Created on 2005-07-03.00:00:00 last changed 171 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

Change bullet item 2 in 2.1.2/3:

  • a pointer to member function type with cv-qualifier cv and no arguments; the type T1 is cv T* and R is the return type of the pointer to member function R T0::f() cv (where cv represents the member function's cv-qualifiers); the type T1 is cv T0*

Change bullet item 2 in 2.1.2/4:

  • a pointer to member function with cv-qualifier cv and taking one argument of type T2; the type T1 is cv T* and R is the return type of the pointer to member function R T0::f(T2) cv (where cv represents the member function's cv-qualifiers); the type T1 is cv T0*
Date: 2005-07-03.00:00:00

2.1.2/3, second bullet item currently says that reference_wrapper<T> is derived from unary_function<T, R> if T is:

a pointer to member function type with cv-qualifier cv and no arguments; the type T1 is cv T* and R is the return type of the pointer to member function;

The type of T1 can't be cv T*, 'cause that's a pointer to a pointer to member function. It should be a pointer to the class that T is a pointer to member of. Like this:

a pointer to a member function R T0::f() cv (where cv represents the member function's cv-qualifiers); the type T1 is cv T0*

Similarly, bullet item 2 in 2.1.2/4 should be:

a pointer to a member function R T0::f(T2) cv (where cv represents the member function's cv-qualifiers); the type T1 is cv T0*

History
Date User Action Args
2010-10-21 18:28:33adminsetmessages: + msg2928
2005-07-03 00:00:00admincreate