is_pod Class
Testy, jeśli typem jest POD.
template<class Ty>
struct is_pod;
Parametry
- Ty
Typ kwerendy.
Uwagi
is_pod<Ty>::valuejest true Jeśli typ Ty jest Plain Old danych (POD).W przeciwnym razie jest false.
Typy arytmetyczne, wyliczeń, typów wskaźników i wskaźnik do typów elementów członkowskich są POD.
Kwalifikacje cv wersja typu POD jest typu POD.
Tablica POD jest POD.
Struct lub Unii, wszystkich członków-statycznej dane, których są POD, jest sam POD, jeżeli ma ona:
Nie konstruktorów zgłoszone przez użytkowników.
Nie członków prywatnym ani chronionym danych-statycznej.
Żadne klasy podstawowej.
Nie funkcji wirtualnych.
Członkowie-statycznej danych typu odwołania.
Nie kopia zdefiniowane przez użytkownika operator przypisania.
Nie destruktora zdefiniowane przez użytkownika.
W związku z tym można rekursywnie kompilacji POD struktur i tablice zawierające POD struktur i tablic.
Przykład
// std_tr1__type_traits__is_pod.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>
struct trivial
{
int val;
};
struct throws
{
throws() throw(int)
{
}
throws(const throws&) throw(int)
{
}
throws& operator=(const throws&) throw(int)
{
}
int val;
};
int main()
{
std::cout << "is_pod<trivial> == " << std::boolalpha
<< std::is_pod<trivial>::value << std::endl;
std::cout << "is_pod<int> == " << std::boolalpha
<< std::is_pod<int>::value << std::endl;
std::cout << "is_pod<throws> == " << std::boolalpha
<< std::is_pod<throws>::value << std::endl;
return (0);
}
Wymagania
Nagłówek: <type_traits>
Obszar nazw: std
Zobacz też
Informacje
Inne zasoby
<type_traits> Członkowie