Namespaces
Variants

std::experimental::pmr:: unsynchronized_pool_resource

From cppreference.net
class unsynchronized_pool_resource : public memory_resource ;
(Library Fundamentals TS)

Die Klasse std::experimental::pmr::unsynchronized_pool_resource ist eine allgemeine Speicherressourcen-Klasse mit den folgenden Eigenschaften:

  • Es verwaltet den allokierten Speicher und gibt ihn bei der Zerstörung frei, selbst wenn deallocate für einige der allokierten Blöcke nicht aufgerufen wurde.
  • Es besteht aus einer Sammlung von Pools , die Anfragen für verschiedene Blockgrößen bedienen. Jeder Pool verwaltet eine Sammlung von Chunks , die dann in Blöcke einheitlicher Größe unterteilt werden.
  • Aufrufe von do_allocate werden an den Pool weitergeleitet, der die kleinsten Blöcke bereitstellt, die die angeforderte Größe aufnehmen können.
  • Das Erschöpfen des Speichers im Pool führt dazu, dass die nächste Allokationsanfrage für diesen Pool einen zusätzlichen Speicher-Chunk vom Upstream-Allokator allokiert, um den Pool wieder aufzufüllen. Die erhaltene Chunk-Größe nimmt geometrisch zu.
  • Allokationsanfragen, die die größte Blockgröße überschreiten, werden direkt vom Upstream-Allokator bedient.
  • Die größte Blockgröße und die maximale Chunk-Größe können durch Übergabe einer std::experimental::pmr::pool_options -Struktur an ihren Konstruktor angepasst werden.

unsynchronized_pool_resource ist nicht threadsicher und kann nicht gleichzeitig von mehreren Threads aus zugegriffen werden; verwenden Sie synchronized_pool_resource , wenn der Zugriff von mehreren Threads erforderlich ist.

Memberfunktionen

konstruiert eine unsynchronized_pool_resource
(öffentliche Elementfunktion)
[virtual]
zerstört eine unsynchronized_pool_resource und gibt allen allokierten Speicher frei
(virtuelle öffentliche Elementfunktion)
operator=
[deleted]
Kopierzuweisungsoperator ist gelöscht. unsynchronized_pool_resource ist nicht kopierzuweisbar
(öffentliche Elementfunktion)
Öffentliche Elementfunktionen
gibt allen allokierten Speicher frei
(öffentliche Elementfunktion)
gibt einen Zeiger auf die vorgelagerte Speicherressource zurück
(öffentliche Elementfunktion)
gibt die Optionen zurück, die das Pooling-Verhalten dieser Ressource steuern
(öffentliche Elementfunktion)
Geschützte Elementfunktionen
[virtual]
allokiert Speicher
(virtuelle geschützte Elementfunktion)
[virtual]
gibt Speicher an den Pool zurück
(virtuelle geschützte Elementfunktion)
[virtual]
vergleicht auf Gleichheit mit einer anderen memory_resource
(virtuelle geschützte Elementfunktion)