std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>::outermost, outermost-construct, outermost-destroy
Von cppreference.com
< cpp | memory | scoped allocator adaptor
template< class Alloc > /* nicht spezifiziert */ /*outermost*/( Alloc&& alloc = *this ); |
(1) | (nur Exposition*) |
template< class T, class... Args > void /*outermost-construct*/( T* p, Args&&... args ); |
(2) | (nur Exposition*) |
template< class T > void /*outermost-destroy*/( T* p ); |
(3) | (nur Exposition*) |
Diese Member-Funktions-Templates, die nur der Darstellung dienen, werden in den Member-Funktionen construct() und destroy() verwendet.
1) Ruft den äußersten Allokator von alloc ab.
- Wenn der Ausdruck alloc.outer_allocator() gültig ist, gibt
outermost(alloc.outer_allocator()) zurück. - Andernfalls wird alloc zurückgegeben.
2,3) Konstruiert oder zerstört ein Objekt mit dem äußersten Allokator von *this.
Gegeben den Typ std::allocator_traits<std::remove_reference_t<decltype(
outermost ())>> als outermost_traits2) Äquivalent zu outermost_traits::construct(
outermost (), p, std::forward<Args>(args)...);.3) Äquivalent zu outermost_traits::destroy(
outermost (), p);.[bearbeiten] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 3116 | C++11 | Die Rekursionsbedingung für outermost war „allochat die Member-Funktion outer_allocator()“ |
geändert zu „der Ausdruck alloc.outer_allocator() ist gültig“ |
[bearbeiten] Siehe auch
| [static] |
konstruiert ein Objekt im allozierten Speicher (function template) |
| [static] |
destruiert ein Objekt im allozierten Speicher (function template) |