Title
The *_constant<> templates do not make use of template<auto>
Status
lewg
Section
[meta.type.synop]
Submitter
United States

Created on 2017-02-03.00:00:00 last changed 90 months ago

Messages

Date: 2017-07-15.23:15:19

[ 2017-07 Toronto Thurs Issue Prioritization ]

Status LEWG with P0377

Date: 2017-03-15.00:00:00

[ 2017-03-03, Kona, LEWG ]

Straw polls:

Name:
constant3
numeric_constant8
static_constant1
scalar_constant7
integer_constant (Over LWG's dead body)1
auto_constant4
integral_c7
int_0
scalar_constant6
numeric_constant3
integral_c5

Accept P0377 with "scalar_constant" for C++17 to address LWG 2922 and US 171:

SF | F | N | A | SA

0 | 1 | 3 | 7 | 5

Date: 2017-02-03.00:00:00
Addresses US 171

The *_constant<> templates (including the proposed addition, bool_constant<>) do not make use of the new template<auto> feature.

Proposed change: Add a constant<> (subject to bikeshedding) template which uses template<auto>.

Define integral_constant<> as using integral_constant<T, V> = constant<T(V)> or integral_constant<T, V> = constant<V>.

Either remove bool_constant, define it as using bool_constant = constant<bool(B)> or using bool_constant = constant<B>.

History
Date User Action Args
2017-07-15 23:15:19adminsetmessages: + msg9397
2017-07-15 23:15:19adminsetstatus: new -> lewg
2017-03-03 20:10:51adminsetmessages: + msg9049
2017-02-03 00:00:00admincreate