Title
enable_if, result_of, common_type and aligned_storage do not meet the definition of TransformationTrait
Status
new
Section
[meta.rqmts]
Submitter
Tim Song

Created on 2016-12-14.00:00:00 last changed 96 months ago

Messages

Date: 2017-01-27.00:00:00

[ 2017-01-27 Telecon ]

Priority 3

Date: 2016-12-27.20:44:15

[meta.rqmts]/3 defines TransformationTrait as follows:

A TransformationTrait modifies a property of a type. It shall be a class template that takes one template type argument and, optionally, additional arguments that help define the modification. It shall define a publicly accessible nested type named type, which shall be a synonym for the modified type.

enable_if, result_of and common_type do not necessarily "define a publicly accessible nested type named type". aligned_storage takes no template type argument (it only has two non-type parameters). Yet [meta.trans]/2 says that they are all TransformationTraits.

Incidentally, with the exception of decay, it's not clear that any of the traits in [meta.trans.other] could really be described as "modify[ing] a property of a type".

History
Date User Action Args
2017-01-30 15:36:02adminsetmessages: + msg8821
2016-12-14 00:00:00admincreate