Sdílet prostřednictvím


has_trivial_copy Class

Zkoušky, pokud má typ trivial Kopírovat konstruktor.

template<class Ty>
    struct has_trivial_copy;

Parametry

  • Ty
    Typ dotazu.

Poznámky

Instance typu predikát obsahuje hodnotu true Pokud typ Ty je třída trivial Kopírovat konstruktor, jinak má hodnotu false.

Kopírovat konstruktor třídy Ty je triviální pokud:

je implicitně deklarován

Třída Ty nemá žádné virtuální funkce

Třída Ty nemá žádné virtuální základů

všechny přímé základy třídy Ty mít konstruktory trivial kopie.

třídy všech členů dat nestatický typ třídy mít konstruktory trivial kopie.

třídy všech členů nestatický data pole Typ třídy mít konstruktory trivial kopie.

Příklad

 

// std_tr1__type_traits__has_trivial_copy.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 << "has_trivial_copy<trivial> == " << std::boolalpha 
        << std::has_trivial_copy<trivial>::value << std::endl; 
    std::cout << "has_trivial_copy<throws> == " << std::boolalpha 
        << std::has_trivial_copy<throws>::value << std::endl; 
 
    return (0); 
    } 
 
  

Požadavky

Záhlaví: <type_traits>

Obor názvů: std

Viz také

Referenční dokumentace

<type_traits>

has_nothrow_copy Class