Date
2017-01-30.15:17:53
Message id
8813

Content

Proposed resolution:

This wording is relative to N4618.

  1. Edit [depr.meta.types] as indicated:

    The header <type_traits> has the following addition:

    namespace std {
      template <class T> struct is_literal_type;
      
      template <class T> constexpr bool is_literal_type_v = is_literal_type<T>::value;
    }
    

    -2- Requires: remove_all_extents_t<T> shall be a complete type or (possibly cv-qualified) void.

    -3- Effects: is_literal_type has a base-characteristic of true_type if T is a literal type (3.9), and a basecharacteristic of false_type otherwiseis_literal_type<T> is a UnaryTypeTrait ([meta.rqmts]) with a BaseCharacteristic of true_type if T is a literal type ([basic.types]), and false_type otherwise.

    -?- The behavior of a program that adds specializations for is_literal_type or is_literal_type_v is undefined.