std::experimental:: observer_ptr
|
Definiert in Header
<experimental/memory>
|
||
|
template
<
class
W
>
class observer_ptr ; |
(Library Fundamentals TS v2) | |
std::experimental::observer_ptr
ist ein nicht-besitzender Zeiger, oder ein
Observer
. Der Observer speichert einen Zeiger auf ein zweites Objekt, bekannt als das
beobachtete Objekt
. Ein
observer_ptr
kann auch kein beobachtetes Objekt haben.
Ein Observer ist in keiner Weise für das beobachtete Objekt verantwortlich; es besteht keine inhärente Beziehung zwischen einem Observer und dem Objekt, das er beobachtet.
Es ist als nahezu direkter Ersatz für Rohzeigertypen gedacht, mit dem Vorteil, dass es als Vokabulartyp seine beabsichtigte Verwendung anzeigt, ohne dass eine detaillierte Analyse durch Code-Leser erforderlich ist.
Spezialisierungen von
observer_ptr
erfüllen die Anforderungen von
CopyConstructible
und
CopyAssignable
.
| Typanforderungen | ||
-
W
darf kein Referenztyp sein, kann aber ein unvollständiger Typ sein.
|
Inhaltsverzeichnis |
Mitgliedertypen
| Mitgliedstyp | Definition |
| element_type |
W
, der Typ des von diesem
observer_ptr
beobachteten Objekts
|
Memberfunktionen
Konstruiert einen neuen
observer_ptr
(öffentliche Elementfunktion) |
|
|
(destructor)
(implizit deklariert)
|
zerstört einen
observer_ptr
(öffentliche Elementfunktion) |
|
operator=
(implizit deklariert)
|
implizit deklarierte Kopier- und Move-Zuweisungsoperatoren, die den gespeicherten Zeiger zuweisen
(öffentliche Elementfunktion) |
Modifikatoren |
|
|
gibt einen Zeiger auf das beobachtete Objekt zurück und beendet die Beobachtung
(öffentliche Elementfunktion) |
|
|
ersetzt das beobachtete Objekt
(öffentliche Elementfunktion) |
|
|
tauscht die beobachteten Objekte
(öffentliche Elementfunktion) |
|
Beobachter |
|
|
gibt einen Zeiger auf das beobachtete Objekt zurück
(öffentliche Elementfunktion) |
|
|
prüft, ob ein assoziiertes beobachtetes Objekt existiert
(öffentliche Elementfunktion) |
|
|
dereferenziert den Zeiger auf das beobachtete Objekt
(öffentliche Elementfunktion) |
|
Konvertierungen |
|
|
explizite Konvertierungsfunktion zum gespeicherten Zeiger
(öffentliche Elementfunktion) |
|
Nicht-Member-Funktionen
erstellt einen
observer_ptr
, der ein Objekt überwacht
(Funktions-Template) |
|
vergleicht mit einem anderen
observer_ptr
oder mit
nullptr
(Funktions-Template) |
|
spezialisiert den
swap
-Algorithmus
(Funktions-Template) |
Hilfsklassen
Hash-Unterstützung für
observer_ptr
(Klassen-Template-Spezialisierung) |
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |