is_compound — Klasa
Sprawdza, czy określony typ nie jest podstawowy.
Składnia
template <class Ty>
struct is_compound;
Parametry
Ty
Typ do zapytania.
Uwagi
Wystąpienie predykatu typu jest przechowywane false
, jeśli typ Ty jest typem podstawowym (czyli jeśli is_fundamental<Ty> posiada true
); w przeciwnym razie przechowuje true
. W związku z tym predykat przechowuje true
, jeśli Ty jest typem tablicy, typem funkcji, wskaźnikiem do void
obiektu lub funkcji, odwołaniem, klasą, unią, wyliczeniem lub wskaźnikiem do niestatycznej składowej klasy lub kwalifikowaną formą cv jednego z nich.
Przykład
// 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
Wymagania
Nagłówek:<type_traits>
Przestrzeń nazw: std