Section: 22.10 [function.objects] Status: Resolved Submitter: BSI Opened: 2010-08-25 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [function.objects].
View all issues with Resolved status.
Discussion:
Addresses GB-95
The adaptable function protocol supported by
unary_function/binary_function
has been superceded by
lambda expressions and std::bind
. Despite the name, the
protocol is not very adaptable as it requires intrusive
support in the adaptable types, rather than offering an
external traits-like adaption mechanism. This protocol and
related support functions should be deprecated, and we
should not make onerous requirements for the
specification to support this protocol for callable types
introduced in this standard revision, including those
adopted from TR1. It is expected that high-quality
implementations will provide such support, but we should
not have to write robust standard specifications mixing this
restricted support with more general components such as
function
, bind
and reference_wrapper
.
[ Resolution proposed by ballot comment ]
Move clauses 20.8.3, 20.8.9, 20.8.11 and 20.8.12 to Annex D.
Remove the requirements to conditionally derive fromunary/binary_function
from function
,
reference_wrapper
, and the results of calling mem_fn
and bind
.
[ 2010-10-24 Daniel adds: ]
Accepting n3145 would solve this issue.
Proposed resolution:
Resolved by paper N3198.