Title
[fund.ts] No template aliases defined for new type traits
Status
open
Section
[meta.type.synop]
Submitter
Joe Gottman

Created on 2014-03-07.00:00:00 last changed 81 months ago

Messages

Date: 2014-06-16.23:34:37

Proposed resolution:

This wording is relative to N3908.

  1. Add the following to section 3.3.1[meta.type.synop] of the Library Fundamentals specification as indicated:

    namespace std {
    namespace experimental {
    inline namespace fundamentals_v1 {
      […]
      // 3.3.2, Other type transformations
      template <class> class invocation_type; // not defined
      template <class F, class... ArgTypes> class invocation_type<F(ArgTypes...)>;
      template <class> class raw_invocation_type; // not defined
      template <class F, class... ArgTypes> class raw_invocation_type<F(ArgTypes...)>;
      
      template <class T> 
        using invocation_type_t = typename invocation_type<T>::type;
      template <class T> 
        using raw_invocation_type_t = typename raw_invocation_type<T>::type;
      
    } // namespace fundamentals_v1
    } // namespace experimental
    } // namespace std
    
Date: 2013-06-21.00:00:00

[ 2013-06-21 Rapperswil ]

Accept for Library Fundamentals TS Working Paper

Date: 2014-03-25.22:17:25

Addresses: fund.ts

The library fundamentals specification defines two new type trait template classes: invocation_type and raw_invocation_type. But it does not define the corresponding template aliases. Note that both of these classes define a member typedef type and no other public members, so according to the argument in N3887 the template aliases should be defined.

History
Date User Action Args
2017-07-30 20:10:41adminsetstatus: wp -> open
2014-10-13 18:44:16adminsetstatus: immediate -> wp
2014-06-17 08:47:43adminsetstatus: ready -> immediate
2014-06-16 23:34:37adminsetmessages: + msg7048
2014-06-16 23:34:37adminsetstatus: new -> ready
2014-03-25 20:54:07adminsetmessages: + msg6917
2014-03-07 00:00:00admincreate