Compartilhar via


Classe is_compound

Testa se o tipo especificado não é fundamental.

Sintaxe

template <class Ty>
struct is_compound;

Parâmetros

Ty
O tipo a ser consultado.

Comentários

Uma instância do predicado de tipo será false se o tipo de Ty for um tipo fundamental (isto é, se is_fundamental<Ty> for true); caso contrário, será true. Portanto, o predicado será true se Ty for um tipo de matriz, um tipo de função, um ponteiro para void ou um objeto ou uma função, uma referência, uma classe, uma união, uma enumeração ou um ponteiro para um membro de classe não estática ou uma forma qualificada por CV de um deles.

Exemplo

// 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

Cabeçalho:<type_traits>

Namespace: std

Confira também

<type_traits>
Classe is_class