This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.

1398. Users should be able to specialize functors without depending on whole <functional> header

Section: 19.14 [function.objects] Status: NAD Submitter: BSI Opened: 2010-08-25 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [function.objects].

View all issues with NAD status.


Addresses GB-96

The function templates hash, less and equal_to are important customization points for user-defined types to be supported by several standard containers. These are accessed through the <functional> header which has grown significantly larger in C++0x, exposing many more facilities than a user is likely to need through there own header, simply to declare the necessary specialization. There should be a smaller header available for users to make the necessary customization.

[ Resolution proposed by ballot comment ]

Provide a tiny forwarding header for important functor types in the <functional> header that a user may want to specialize. This should contain the template declaration for equal_to, hash and less.

[ Rapperswill summary ]

Alisdair: Would recommend NAD unless someone takes the issue.

Daniel: Volunteers to write a paper for this.

[ 2010-11-07 Daniel provides a paper available on the Batavia document list ]

[ 2010 Batavia: ]

Closed as NAD - the consensus was that forwarding headers such as <iosfwd> do not bring the expected benefits, and are not widely used (to the surprise of some active users in the room!). Without real experience reporting a benefit, there is no further interest in pursuing this issue as an extension - hence NAD rather than NAD Future.


No consensus to make a change

Proposed resolution:

See paper "Forwarding <functional> functor templates" on the Batavia LWG document list