Partager via


has_trivial_assign, classe

Teste si le type est triviale à affecter.

template<class Ty>
    struct has_trivial_assign;

Paramètres

  • Ty
    Le type à la requête.

Notes

Une instance de l'attribut de type contient la valeur true si le type Ty est une classe qui contient un opérateur d'assignation d'envoi triviale, sinon elle contient FALSE.

Un opérateur d'assignation de copie d'une classe Ty est triviale si :

elle est implicitement déclarée

la classe Ty n'a aucune fonction virtuelle

la classe Ty n'a aucune base virtuelle

toutes les bases directe de la classe Ty des opérateurs d'affectation de copie insignifiants

les classes de toutes les données de membre non statique de type de classe des opérateurs d'affectation de copie insignifiants

les classes de toutes les données de membre non statique de choix du type de classe des opérateurs d'affectation de copie insignifiants

Exemple

 

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

Configuration requise

En-tête : <type_traits>

Espace de noms : std

Voir aussi

Référence

<type_traits>

has_nothrow_assign, classe

Autres ressources

<type_traits> membres