Namespaces
Variants

std::experimental::ranges:: CopyConstructible

From cppreference.net
Défini dans l'en-tête <experimental/ranges/concepts>
template < class T >

concept bool CopyConstructible =
MoveConstructible < T > &&
Constructible < T, T & > && ConvertibleTo < T & , T > &&
Constructible < T, const T & > && ConvertibleTo < const T & , T > &&

Constructible < T, const T > && ConvertibleTo < const T, T > ;
(ranges TS)

Le concept CopyConstructible est satisfait si T est un type de référence lvalue, ou s'il s'agit d'un MoveConstructible type objet où un objet de ce type peut être construit à partir d'une lvalue (éventuellement const) ou d'une rvalue const de ce type dans les contextes d'initialisation directe et par copie avec la sémantique usuelle (une copie est construite sans modification de la source).

Plus précisément, si T est un type d'objet, alors CopyConstructible<T> est satisfait uniquement si étant donné

  • v , une lvalue de type (éventuellement const ) T ou une rvalue de type const T ,

les affirmations suivantes sont vraies :

  • Après la définition T u = v ; , u est égal à v ;
  • T { v } est égal à v .

Voir aussi

vérifie si un type possède un constructeur de copie
(modèle de classe)