Experimentelles Bibliotheks-Header <experimental/memory_resource>
Von cppreference.com
< cpp | header | experimental
Dieser Header ist Teil des Library Fundamentals TS (v1, v2, v3).
Inhalt |
[bearbeiten] Klassen
| Definiert im Namensraum
std::experimental::pmr | |
| eine abstrakte Schnittstelle für Klassen, die Speicherressourcen kapseln (Klasse) | |
| eine Thread-sichere memory_resource zur Verwaltung von Allokationen in Pools unterschiedlicher Blockgrößen (Klasse) | |
| eine Thread-unsichere memory_resource zur Verwaltung von Allokationen in Pools unterschiedlicher Blockgrößen (Klasse) | |
| eine spezialisierte memory_resource, die den allokierten Speicher erst bei der Zerstörung der Ressource freigibt (Klasse) | |
| ein Allocator, der Laufzeitpolymorphie basierend auf der memory_resource unterstützt, mit der er konstruiert wurde (Klassentemplate) | |
| passt einen Allocator in eine memory_resource an (Alias-Template) | |
[bearbeiten] Funktionen
| Definiert im Namensraum
std::experimental::pmr | |
Vergleich | |
vergleicht zwei memory_resources(Funktion) | |
| vergleicht zwei Allocatoren (Funktionstemplate) | |
Globale Speicherressourcen | |
gibt eine statische, programmeinheitliche memory_resource zurück, die den globalen operator new und operator delete zur Allokation und Deallokation von Speicher verwendet(Funktion) | |
gibt eine statische memory_resource zurück, die keine Allokation durchführt(Funktion) | |
Standard-Speicherressource | |
ruft die Standard-memory_resource ab(Funktion) | |
setzt die Standard-memory_resource(Funktion) | |
[bearbeiten] Synopsis
namespace std { namespace experimental { inline namespace fundamentals_v1 { namespace pmr { class memory_resource; bool operator==(const memory_resource& a, const memory_resource& b) noexcept; bool operator!=(const memory_resource& a, const memory_resource& b) noexcept; template <class Tp> class polymorphic_allocator; template <class T1, class T2> bool operator==(const polymorphic_allocator<T1>& a, const polymorphic_allocator<T2>& b) noexcept; template <class T1, class T2> bool operator!=(const polymorphic_allocator<T1>& a, const polymorphic_allocator<T2>& b) noexcept; // The name resource_adaptor_imp is for exposition only. template <class Allocator> class resource_adaptor_imp; template <class Allocator> using resource_adaptor = resource_adaptor_imp< typename allocator_traits<Allocator>::template rebind_alloc<char>>; // Global memory resources memory_resource* new_delete_resource() noexcept; memory_resource* null_memory_resource() noexcept; // The default memory resource memory_resource* set_default_resource(memory_resource* r) noexcept; memory_resource* get_default_resource() noexcept; // Standard memory resources struct pool_options; class synchronized_pool_resource; class unsynchronized_pool_resource; class monotonic_buffer_resource; } // namespace pmr } // namespace fundamentals_v1 } // namespace experimental } // namespace std