Namespaces
Variants

std::experimental:: observer_ptr

From cppreference.net
Défini dans l'en-tête <experimental/memory>
template < class W >
class observer_ptr ;
(library fundamentals TS v2)

std::experimental::observer_ptr est un pointeur non propriétaire, ou observateur . L'observateur stocke un pointeur vers un second objet, appelé objet surveillé . Un observer_ptr peut également ne pas avoir d'objet surveillé.

Un observateur n'est en aucun cas responsable de l'objet observé ; il n'existe aucune relation inhérente entre un observateur et l'objet qu'il surveille.

Il est conçu comme un remplacement quasi direct des types de pointeurs bruts, avec l'avantage que, en tant que type de vocabulaire, il indique son utilisation prévue sans nécessiter d'analyse détaillée par les lecteurs du code.

Les spécialisations de observer_ptr satisfont aux exigences de CopyConstructible et CopyAssignable .

Exigences de type
-
W ne doit pas être un type référence, mais peut être un type incomplet.

Table des matières

Types membres

Type de membre Définition
element_type W , le type de l'objet surveillé par ce observer_ptr

Fonctions membres

construit un nouveau observer_ptr
(fonction membre publique)
(destructor)
(implicitly declared)
détruit un observer_ptr
(fonction membre publique)
operator=
(implicitly declared)
opérateurs d'affectation de copie et de déplacement déclarés implicitement qui assignent le pointeur stocké
(fonction membre publique)
Modificateurs
retourne un pointeur vers l'objet observé et arrête de surveiller l'objet
(fonction membre publique)
remplace l'objet observé
(fonction membre publique)
échange les objets observés
(fonction membre publique)
Observateurs
retourne un pointeur vers l'objet observé
(fonction membre publique)
vérifie s'il y a un objet observé associé
(fonction membre publique)
déréférence le pointeur vers l'objet observé
(fonction membre publique)
Conversions
fonction de conversion explicite vers le pointeur stocké
(fonction membre publique)

Fonctions non membres

crée un observer_ptr qui observe un objet
(modèle de fonction)
compare avec un autre observer_ptr ou avec nullptr
(modèle de fonction)
spécialise l'algorithme swap
(modèle de fonction)

Classes d'assistance

Prise en charge du hachage pour observer_ptr
(spécialisation de modèle de classe)

Exemple