is_compound (Clase)
Comprueba si el tipo especificado no es fundamental.
Sintaxis
template <class Ty>
struct is_compound;
Parámetros
Ty
Tipo que se va a consultar.
Comentarios
Una instancia del predicado de tipo es false
si el tipo de Ty es un tipo fundamental (es decir, si is_fundamental<Ty> estrue
). En caso contrario, es true
. Por lo tanto, el predicado es true
si Ty es un tipo de matriz, un tipo de función, un puntero a void
o un objeto o una función, una referencia, una clase, una unión, una enumeración, o un puntero a miembro de clase no estática o un formulario de tipo cv-qualified de uno de ellos.
Ejemplo
// std__type_traits__is_compound.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>
struct trivial
{
int val;
};
int main()
{
std::cout << "is_compound<trivial> == " << std::boolalpha
<< std::is_compound<trivial>::value << std::endl;
std::cout << "is_compound<int[]> == " << std::boolalpha
<< std::is_compound<int[]>::value << std::endl;
std::cout << "is_compound<int()> == " << std::boolalpha
<< std::is_compound<int()>::value << std::endl;
std::cout << "is_compound<int&> == " << std::boolalpha
<< std::is_compound<int&>::value << std::endl;
std::cout << "is_compound<void *> == " << std::boolalpha
<< std::is_compound<void *>::value << std::endl;
std::cout << "is_compound<int> == " << std::boolalpha
<< std::is_compound<int>::value << std::endl;
return (0);
}
is_compound<trivial> == true
is_compound<int[]> == true
is_compound<int()> == true
is_compound<int&> == true
is_compound<void *> == true
is_compound<int> == false
Requisitos
Encabezado:<type_traits>
Espacio de nombres: std