# C++ named requirements: TransformationTrait

From cppreference.com
< cpp‎ | named req

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

The type modifications and transformations all satisfy TransformationTrait.

The following standard library class templates also satisfy TransformationTrait.

tuple_element | obtains the type of the specified element (class template specialization)
std::tuple_element<std::pair> (C++11) | obtains the type of the elements of `pair` (class template specialization)
std::tuple_element<std::array> | obtains the type of the elements of `array` (class template specialization)
variant_alternative variant_alternative_t (C++17) | obtains the type of the alternative specified by its index, at compile time (class template) (alias template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/named_req/TransformationTrait&oldid=105395"