Classe decay

Produz o tipo passado por valor. Torna o tipo não referência, não const, não volátil ou cria um ponteiro para o tipo com base em uma função ou em um tipo de matriz.

Sintaxe

template <class T>
struct decay;

template <class T>
using decay_t = typename decay<T>::type;

Parâmetros

T
O tipo a ser modificado.

Comentários

Use o modelo de decay para produzir o tipo resultante como se o tipo tivesse sido passado por valor como um argumento. O membro de modelo de classe typedef type mantém um tipo modificado que é definido nos seguintes estágios:

  • O tipo U é definido como remove_reference<T>::type.

  • Se is_array<U>::value for verdadeiro, o tipo modificado type será remove_extent<U>::type *.

  • Caso contrário, se is_function<U>::value for verdadeiro, o tipo modificado type será add_pointer<U>::type.

  • Caso contrário, o tipo modificado type será remove_cv<U>::type.

Requisitos

Cabeçalho:<type_traits>

Namespace: std

Confira também

<type_traits>