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 comoremove_reference<T>::type
.Se
is_array<U>::value
for verdadeiro, o tipo modificadotype
seráremove_extent<U>::type *
.Caso contrário, se
is_function<U>::value
for verdadeiro, o tipo modificadotype
seráadd_pointer<U>::type
.Caso contrário, o tipo modificado
type
seráremove_cv<U>::type
.
Requisitos
Cabeçalho:<type_traits>
Namespace: std