Sdílet prostřednictvím


has_trivial_assign Class

Zkoušky, pokud má typ trivial přiřadit.

template<class Ty>
    struct has_trivial_assign;

Parametry

  • Ty
    Typ dotazu.

Poznámky

Instanci typu predikát obsahuje PRAVDA, pokud typ Ty je třída, která má trivial kopie operátor přiřazení, jinak má hodnotu false.

Pomocí operátoru přiřazení kopie pro třídu 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é založí třídy Ty máte kopii trivial operátory přiřazení

třídy všech členů dat nestatický typ třídy mají operátory přiřazení trivial kopie

třídy všech členů nestatický data pole Typ třídy mají operátory přiřazení trivial kopie

Příklad

 

// std_tr1__type_traits__has_trivial_assign.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_assign<trivial> == " << std::boolalpha 
        << std::has_trivial_assign<trivial>::value << std::endl; 
    std::cout << "has_trivial_assign<throws> == " << std::boolalpha 
        << std::has_trivial_assign<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_assign Class

Další zdroje

<type_traits> Členové