C++ named requirements: TransformationTrait (since C++11)

From cppreference.com
< cpp‎ | named req
 
 
C++ named requirements
Basic
Type properties
Library-Wide
Container
Container Elements
(C++11)

Iterator
Stream I/O
Formatters
(C++20)
Random Numbers
(C++11)    
Concurrency
(C++11)
(C++11)
Ranges
Other
TransformationTrait
(C++11)
(C++11)


 

A TransformationTrait is a class template that provides a transformation of its template type parameter.

Requirements

  • Takes one template type parameter (additional template parameters are optional and allowed).
  • The transformed type is a publicly accessible nested type named type.

Standard library

All type transformation traits satisfy TransformationTrait.

The following standard library class templates also satisfy TransformationTrait.

obtains the type of the specified element
(class template specialization)
obtains the type of the elements of pair
(class template specialization)
obtains the type of the elements of array
(class template specialization)
obtains the type of the alternative specified by its index, at compile time
(class template) (alias template)