Sdílet prostřednictvím


has_trivial_assign – třída

Zkoušky, pokud má typ triviální přiřadit.

template<class Ty>
    struct has_trivial_assign;

Parametry

  • Ty
    Typ dotazu.

Poznámky

Instance typu predikát obsahuje true Pokud typ Ty je třída, která má triviální kopie operátor přiřazení, jinak má hodnotu false.

Operátor přiřazení kopie 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 mít triviální kopie operátory přiřazení

třídy všech členů dat nestatickou třídu typu mají triviální kopie operátory přiřazení

třídy všech členů dat nestatické pole typu třídy mají triviální kopie operátory přiřazení

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 – třída

Další zdroje

<type_traits> Členové