std:: indirect
|
Definiert im Header
<memory>
|
||
|
template
<
class
T,
class
Allocator
=
std::
allocator
<
T
>
>
class indirect ; |
(1) | (seit C++26) |
|
namespace
pmr
{
template
<
class
T
>
|
(2) | (seit C++26) |
std::indirect
ist ein Wrapper, der ein dynamisch allokiertes Objekt mit wertähnlicher Semantik enthält.
Ein
std::indirect
-Objekt verwaltet die
Lebensdauer
eines besessenen Objekts. Ein
std::indirect
-Objekt kann nur dann kein besessenes Objekt haben, nachdem es verschoben wurde; in diesem Fall ist es
wertlos
.
Jedes Objekt vom Typ
std::indirect<T, Allocator>
verwendet ein Objekt vom Typ
Allocator
, um bei Bedarf Speicher für das besessene Objekt zu allozieren und freizugeben.
Wenn ein Programm eine explizite oder partielle Spezialisierung von
std::indirect
deklariert, ist das Verhalten undefiniert.
Inhaltsverzeichnis |
Template-Parameter
| T | - | der Typ des besessenen Objekts |
| Allocator | - | der Typ des zugeordneten Allokators |
| Typanforderungen | ||
-
T
kann ein
unvollständiger Typ
sein.
|
||
-
T
einer der folgenden Typen ist, ist das Programm fehlerhaft:
|
||
-
Allocator
nicht die Anforderungen von
Allocator
erfüllt, ist das Programm fehlerhaft.
|
||
-
T
ist, ist das Programm fehlerhaft.
|
||
Verschachtelte Typen
| Typ | Definition |
value_type
|
T
|
allocator_type
|
Allocator
|
pointer
|
typename std:: allocator_traits < Allocator > :: pointer |
const_pointer
|
typename std:: allocator_traits < Allocator > :: const_pointer |
Datenmitglieder
| Mitglied | Beschreibung |
pointer
p
|
ein Zeiger auf den verwalteten Wert
( Nur zur Veranschaulichung verwendetes Mitgliedsobjekt* ) |
Allocator
alloc
|
der zugehörige Allokator
( Nur zur Veranschaulichung verwendetes Mitgliedsobjekt* ) |
Memberfunktionen
konstruiert das
indirect
Objekt
(öffentliche Elementfunktion) |
|
|
zerstört den enthaltenen Wert, falls vorhanden
(öffentliche Elementfunktion) |
|
|
weist Inhalte zu
(öffentliche Elementfunktion) |
|
Beobachter |
|
|
greift auf den enthaltenen Wert zu
(öffentliche Elementfunktion) |
|
prüft ob das
indirect
wertlos ist
(öffentliche Elementfunktion) |
|
|
gibt den zugeordneten Allokator zurück
(öffentliche Elementfunktion) |
|
Modifikatoren |
|
|
tauscht die Inhalte aus
(öffentliche Elementfunktion) |
|
Nicht-Member-Funktionen
|
(C++26)
(C++26)
|
vergleicht
indirect
Objekte
(Funktions-Template) |
|
(C++26)
|
spezialisiert den
std::swap
Algorithmus
(Funktions-Template) |
Hilfsklassen
|
(C++26)
|
Hash-Unterstützung für
std::indirect
(Klassen-Template-Spezialisierung) |
Deduktionsleitfäden
Hinweise
| Feature-Test Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_indirect
|
202502L
|
(C++26) |
std::indirect
|
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
(C++26)
|
ein polymorpher Wrapper, der ein dynamisch allokiertes Objekt mit wertähnlicher Semantik enthält
(Klassentemplate) |
|
(C++11)
|
intelligenter Zeiger mit eindeutiger Objektbesitz-Semantik
(Klassentemplate) |