Udostępnij za pośrednictwem


has_trivial_assign Class

Testy, jeśli typ jest trywialny przypisać.

template<class Ty>
    struct has_trivial_assign;

Parametry

  • Ty
    Typ kwerendy.

Uwagi

Wystąpienie predykat typu posiada true, jeśli typ Ty jest klasa, która posiada trywialny operator przypisania, inaczej przechowuje wartość false.

Operator przypisania kopia dla klasy Ty jest trywialny jeśli:

jest deklarowany niejawnie

Klasa Ty ma żadnych funkcji wirtualnych

Klasa Ty ma nie podstaw wirtualnych

wszystkie bezpośrednie podstaw klasy Ty mają trywialny operatory przypisania

klasy wszystkich członków-statycznej danych typu klasy mają trywialny operatory przypisania

klasy wszystkich członków-statycznej danych typu tablicy klasy mają trywialny operatory przypisania

Przykład

 

// 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); 
    } 
 
  

Wymagania

Nagłówek: <type_traits>

Obszar nazw: std

Zobacz też

Informacje

<type_traits>

has_nothrow_assign Class

Inne zasoby

<type_traits> Członkowie