Title
[fund.ts.v3] remove binders typedefs from function
Status
c++23
Section
[func.wrap.func.overview]
Submitter
Alisdair Meredith

Created on 2022-09-12.00:00:00 last changed 12 months ago

Messages

Date: 2022-11-17.00:42:33

Proposed resolution:

This wording is relative to N4920.

  1. Modify the synopsis in [func.wrap.func.overview] as indicated:

    namespace std {
      namespace experimental::inline fundamentals_v3 {
    
        template<class> class function; // undefined
    
        template<class R, class... ArgTypes>
        class function<R(ArgTypes...)> {
        public:
          using result_type = R;
          using argument_type = T1;
          using first_argument_type T1;
          using second_argument_type = T2;
    
          using allocator_type = erased_type;
    
          // ...
      }
    }
    
Date: 2022-11-12.00:00:00

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

Date: 2022-09-15.00:00:00

[ 2022-09-23; Reflector poll ]

Set status to Tentatively Ready after ten votes in favour during reflector poll.

Date: 2022-09-12.00:00:00

Addresses: fund.ts.v3

The LFTSv3 bases its specification for experimental::function on std::function in the C++20 standard. However, the wording was largely copied over from LFTSv2 which based its wording on the C++14 standard.

For C++17, we removed the conditionally defined typedefs for the legacy binders API, but this removal was not reflected in the TS. We are now left with a specification referring to unknown types, T1 and T2.

These typedefs should be excised to match the referenced standard.

History
Date User Action Args
2023-11-22 15:47:43adminsetstatus: wp -> c++23
2022-11-17 00:42:33adminsetmessages: + msg13073
2022-11-17 00:42:33adminsetstatus: voting -> wp
2022-11-08 03:53:08adminsetstatus: ready -> voting
2022-09-23 15:43:32adminsetmessages: + msg12794
2022-09-23 15:43:32adminsetstatus: new -> ready
2022-09-12 10:02:35adminsetmessages: + msg12757
2022-09-12 00:00:00admincreate