Title
Number of bind placeholders is underspecified
Status
c++23
Section
[func.bind.place]
Submitter
Tomasz Kamiński

Created on 2022-11-09.00:00:00 last changed 13 months ago

Messages

Date: 2022-11-17.00:42:33

Proposed resolution:

This wording is relative to N4917.

  1. Modify [func.bind.place] as indicated:

    namespace std::placeholders {
      // M is the implementation-defined number of placeholders
      see below _1;
      see below _2;
                  .
                  .
                  .
      see below _M;
    }
    

    -?- The number M of placeholders is implementation-defined.

    -1- All placeholder types meet the Cpp17DefaultConstructible and Cpp17CopyConstructible requirements, and their default constructors and copy/move constructors are constexpr functions that do not throw exceptions. It is implementation-defined whether placeholder types meet the Cpp17CopyAssignable requirements, but if so, their copy assignment operators are constexpr functions that do not throw exceptions.

Date: 2022-11-12.00:00:00

[ 2022-11-12 Approved at November 2022 meeting in Kona. Status changed: Immediate → WP. ]

Date: 2022-11-10.01:10:50

[ Kona 2022-11-09; Move to Immediate ]

Date: 2022-11-09.00:00:00

This is resolution of GB-95 ([func.bind.place] Number of bind placeholders is underspecified).

[functional.syn] and [func.bind.place] both contain a comment that says "M is the implementation-defined number of placeholders". There is no wording anywhere to say that there is any such number, only that comment.

History
Date User Action Args
2023-11-22 15:47:43adminsetstatus: wp -> c++23
2022-11-17 00:42:33adminsetmessages: + msg13099
2022-11-17 00:42:33adminsetstatus: immediate -> wp
2022-11-10 01:10:50adminsetmessages: + msg12984
2022-11-10 01:10:50adminsetstatus: new -> immediate
2022-11-09 04:19:39adminsetmessages: + msg12977
2022-11-09 00:00:00admincreate