Sdílet prostřednictvím


has_trivial_copy – třída

Zkoušky, pokud má typ triviální kopie konstruktoru.

template<class Ty>
    struct has_trivial_copy;

Parametry

  • Ty
    Typ dotazu.

Poznámky

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

Kopírovat konstruktor pro třídu Ty je triviální-li:

je implicitně deklarován

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

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

všechny přímé základy třídy Ty mají konstruktory, triviální kopie

tříd všech členů dat nestatickou třídu typu mají konstruktory, triviální kopie

tříd všech členů dat nestatické pole typu třídy mají konstruktory, triviální 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 – třída