DEENESPTFRRUARHIKOZHNL

class ara::core::UnsynchronizedPoolResource

[SWS_CORE_00045] Upstream: RS_AP_00130

class UnsynchronizedPoolResource :           public MemoryResource {...};

Implementation of std::pmr::unsynchronized_pool_resource from [mem.res.pool]

Header-Datei#include "ara/core/memory_resource.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core
Basisklasse(n)MemoryResource

User GuideKI-GENERIERT

Verwaltet speichergebundene Pools für schnelle Allokationen in einzelnen Threads ohne Ausnahmen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 3445f931b524 Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwaltet speichergebundene Pools für schnelle Allokationen in einzelnen Threads ohne Ausnahmen.

Die Klasse implementiert eine unsynchronisierte Speicher-Pool-Ressource nach dem Vorbild von std::pmr::unsynchronized_pool_resource und verwaltet Speicherblöcke über eine konfigurierbare Upstream-Ressource. Über interne Pools bedient sie wiederholte Speicheranforderungen effizient, wobei ungenutzter Gesamtspeicher bei Bedarf über die Schnittstelle freigegeben werden kann [SWS_CORE_00065]. Da die Allokationspfade nicht threadsicher ausgelegt sind, darf eine Instanz stets nur innerhalb eines einzelnen Ausführungskontexts ohne konkurrierenden Zugriff betrieben werden [SWS_CORE_00058]. Im Unterschied zum Standard C++ wirft die Allokation bei Speichermangel keine Ausnahmen, sondern signalisiert Fehlschläge strikt über die Rückgabe eines Nullzeigers.

Kontext

Die Klasse ara::core::UnsynchronizedPoolResource stellt in AUTOSAR Adaptive eine Implementierung von std::pmr::unsynchronized_pool_resource gemäß dem Standard [mem.res.pool] bereit und leitet sich von der Basisklasse MemoryResource ab. Ihre Kernaufgabe besteht darin, wiederkehrende Speicheranforderungen über interne Pools fester Chunk-Größen abzuwickeln, um Fragmentierung und Verwaltungsaufwand gegenüber direkten Systemallokationen zu reduzieren. Größere Speicherbereiche bezieht die Instanz dabei von einer übergeordneten Upstream-Speicherressource, die als MemoryResource* angebunden ist und über die Methode upstream_resource() abgefragt werden kann [SWS_CORE_00056].

Das Verhalten der internen Chunks und Pool-Grenzen wird durch Konfigurationsparameter vom Typ PoolOptions gesteuert, welche über options() einsehbar sind [SWS_CORE_00057]. Zudem erlaubt die überschriebene Methode do_is_equal() den Laufzeitvergleich mit anderen Speicherressourcen auf Gleichheit [SWS_CORE_00060]. Die Klasse operiert somit als Vermittler zwischen dem anfordernden Ausführungskontext und der zugrunde liegenden Upstream-Ressource.

diag_kontext caller Aufrufer (Thread) pool UnsynchronizedPoolResource caller->pool Allokationsanfragen upstream MemoryResource (Upstream) pool->upstream bezieht Chunks options PoolOptions options->pool konfiguriert

Kontextdiagramm: Einbettung der UnsynchronizedPoolResource zwischen aufrufendem Thread und Upstream-Speicherressource. Quellen: [SWS_CORE_00056], [SWS_CORE_00057], [SWS_CORE_00060]

Lebenszyklus

Zur Erzeugung einer Instanz stehen mehrere Konstruktoren zur Verfügung: Ein parameterloser Default-Konstruktor [SWS_CORE_00063], Konstruktoren mit expliziter Übergabe einer Upstream-Ressource [SWS_CORE_00064], Konfigurationsoptionen [SWS_CORE_00068] oder beidem kombiniert [SWS_CORE_00067]. Kopieroperationen sind vollständig unterbunden; sowohl der Kopierkonstruktor [SWS_CORE_00046] als auch der Kopierzuweisungsoperator [SWS_CORE_00047] sind gelöscht (delete). Im Gegensatz zum ISO-14882-Standard definiert AUTOSAR jedoch explizit Move-Semantik: Move-Konstruktor [SWS_CORE_00048] und Move-Zuweisungsoperator [SWS_CORE_00049] sind als noexcept=default verfügbar.

Während des Betriebs kann der gesamte von der Upstream-Ressource allokierte Speicher über den Aufruf von release() freigegeben werden, ohne das Pool-Objekt selbst zu destruieren [SWS_CORE_00065]. Das Lebensende wird durch den Destruktor ~UnsynchronizedPoolResource() besiegelt, welcher als noexcept override deklariert ist, jedoch die wesentliche AUTOSAR-Abweichung aufweist, nicht virtuell zu sein [SWS_CORE_00062].

Hinsichtlich der Nebenläufigkeit ist die Klasse nicht synchronisiert: Die geschützten Zuweisungs- und Freigabefunktionen do_allocate() [SWS_CORE_00058] und do_deallocate() [SWS_CORE_00059] sind explizit als nicht threadsicher spezifiziert. Dagegen sind die Konstruktoren, Inspektoren wie upstream_resource() [SWS_CORE_00056] und options() [SWS_CORE_00057] sowie release() [SWS_CORE_00065] und der Destruktor als threadsicher klassifiziert.

Nutzungspfad

Ein typischer Nutzungspfad umfasst die Instanziierung, wiederholte Speicherallokationen und -freigaben sowie die abschließende Bereinigung:

  1. Initialisierung: Der Aufrufer erzeugt die Instanz unter Angabe gewünschter PoolOptions und einer Upstream-Ressource [SWS_CORE_00067].
  2. Allokation: Speicher wird über die Basisklassenschnittstelle bezogen, welche an do_allocate() delegiert [SWS_CORE_00058]. Interpretation: Wenn im internen Pool kein passender Block frei ist, wird von der Upstream-Ressource neuer Chunkspeicher über deren reguläre Allokationsschnittstelle angefordert. Frage Q-ca9abd7b5da1a39f (offen)
  3. Deallokation: Freizugebende Blöcke werden an do_deallocate() übergeben und in den internen Pool für nachfolgende Anfragen zurückgeführt [SWS_CORE_00059].
  4. Ressourcen-Reset: Vor der Wiederverwendung oder vor dem Herunterfahren kann release() aufgerufen werden, um Upstream-Speicherblöcke gebündelt zurückzugeben [SWS_CORE_00065].
  5. Zerstörung: Das Objekt wird regulär am Ende seines Gültigkeitsbereichs über seinen konkreten Typ abgebaut [SWS_CORE_00062].
Typischer Ablauf der Speicherallokation und -freigabeAufruferUnsynchronizedPoolResourceUpstream-RessourceUse Case: InitialisierungUnsynchronizedPoolResource(opts, upstream)Use Case: Speichernutzungdo_allocate(bytes, alignment)optPool erschöpftallocate(...)SpeicherblockZeiger auf Speicher (oder nullptr)do_deallocate(p, bytes, alignment)Use Case: Bereinigungrelease()deallocate(...)

Sequenzdiagramm: Typischer Ablauf von Allokation über Deallokation bis zur Speicherfreigabe. Quellen: [SWS_CORE_00058], [SWS_CORE_00059], [SWS_CORE_00065], [SWS_CORE_00067]

Fehlerszenarien

AUTOSAR definiert für ara::core::UnsynchronizedPoolResource spezifische Abweichungen vom Standard C++, um den Anforderungen an deterministisches Laufzeitverhalten ohne Ausnahmen zu genügen:

  • Speichermangel bei Allokation: Scheitert eine Speicheranforderung in do_allocate(), wird keine std::bad_alloc-Ausnahme geworfen. Die Funktion ist als noexcept deklariert und gibt stattdessen strikt nullptr zurück [SWS_CORE_00058]. Aufrufer müssen Rückgabewerte daher konsequent auf nullptr prüfen.
  • Fehler bei Deallokation: Schlägt die Freigabe über do_deallocate() fehl, wird der Fehler stillschweigend ignoriert ("silently ignored"), ohne dass Ausnahmen propagiert werden [SWS_CORE_00059].
  • Polymorphe Zerstörung: Da der Destruktor abweichend von [mem.res.pool] explizit nicht virtuell ist [SWS_CORE_00062], Interpretation: Eine Zerstörung über einen Zeiger der Basisklasse MemoryResource* dürfte zu undefiniertem Verhalten führen. Frage Q-68ed70c0b6a907a3 (offen) Instanzen müssen stets über ihren abgeleiteten Typ zerstört werden.
  • Ausnahmesicherheit bei Erzeugung: Während der Konstruktor mit Optionen und Upstream-Ressource als noexcept gilt [SWS_CORE_00067], sind der Default-Konstruktor [SWS_CORE_00063] sowie die Konstruktoren [SWS_CORE_00064] und [SWS_CORE_00068] als nicht ausnahmesicher gekennzeichnet. Interpretation: Die fehlende Ausnahmesicherheit dieser Konstruktoren dürfte darauf zurückzuführen sein, dass bei der Initialisierung Vorab-Allokationen aus der Upstream-Ressource fehlschlagen können. Frage Q-8e2bbf2053947649 (offen)

Dieser Leitfaden basiert auf den AUTOSAR-Adaptive-Spezifikationen des Releases R25-11 für das Modul core.

Mitgliederkarte

Konstruktoren und Destruktor

1

Operatoren

1

Klassendiagramm

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__core__UnsynchronizedPoolResource176 UnsynchronizedPoolResource + UnsynchronizedPoolResource() + UnsynchronizedPool() + operator=() nara__core__MemoryResource130 MemoryResource nara__core__UnsynchronizedPoolResource176->nara__core__MemoryResource130

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

[AUTOSAR defined] not present in ISO-14882. Move constructor

UnsynchronizedPoolResource (UnsynchronizedPoolResource &&other) noexcept=default;

Methoden

UnsynchronizedPool function 13

≙ [mem.res.pool]

Überladungen UnsynchronizedPool 13
UnsynchronizedPoolResource & operator= (const UnsynchronizedPool Resource &)=delete; SWS_CORE_00047
MemoryResource * upstream_resource () const noexcept; SWS_CORE_00056
PoolOptions options () const noexcept; SWS_CORE_00057
void * do_allocate (size_t bytes, size_t alignment) noexcept override; SWS_CORE_00058
void do_deallocate (void *p, size_t bytes, size_t alignment) noexcept override; SWS_CORE_00059
bool do_is_equal (const MemoryResource &other) const noexcept override; SWS_CORE_00060
void release () noexcept; SWS_CORE_00065

Operatoren

operator= function

[AUTOSAR defined] not present in ISO-14882. Move assignment operator

UnsynchronizedPoolResource & operator= (UnsynchronizedPoolResource &&other) noexcept=default;

Dokumentation der Methoden

function UnsynchronizedPool [SWS_CORE_00046]

UnsynchronizedPoolResource (const UnsynchronizedPoolResource &)=delete;

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f284e1fe400c Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Deklaration des Kopierkonstruktors als gelöscht (=delete) in ara::core::UnsynchronizedPoolResource gemäß [SWS_CORE_00046] unterbindet jegliche Duplizierung einer Pool-Instanz. Zur Objekterzeugung stehen stattdessen spezifische Konstruktoren zur Verfügung, etwa ohne Argumente [SWS_CORE_00063], mit Angabe einer Upstream-Speicherressource [SWS_CORE_00064], mit PoolOptions [SWS_CORE_00068] oder mit beiden Parametern [SWS_CORE_00067].

Für die Verwendung und das Laufzeitverhalten gelten folgende Rahmenbedingungen:

  • Aufruf und Fehlerbehandlung: Ein Kopierversuch wird bereits zur Übersetzungszeit durch den Compiler als Fehler abgewiesen. Allokationsfehler bei der späteren Speichernutzung über do_allocate führen nicht zu Exceptions, sondern liefern nullptr zurück [SWS_CORE_00058], während Freigabefehler in do_deallocate stillschweigend ignoriert werden [SWS_CORE_00059].
  • Nebenläufigkeit: Einzelne Speicheroperationen auf der Instanz sind nicht threadsicher deklariert [SWS_CORE_00058], [SWS_CORE_00059]. Interpretation: Das Löschen des Kopierkonstruktors dürfte die exklusive Zuständigkeit für die verwalteten Speicherblöcke sicherstellen und inkonsistente Zustände bei paralleler Nutzung oder vorzeitiger Freigabe via release [SWS_CORE_00065] verhindern. Frage Q-d97dd87dddb2379d (offen)
  • Zusammenspiel: Die Restriktion korrespondiert mit dem ebenfalls gelöschten Zuweisungsoperator [SWS_CORE_00047]. Der Destruktor der Klasse ist nicht virtuell ausgeführt [SWS_CORE_00062], während Identitätsprüfungen über do_is_equal [SWS_CORE_00060] vorgenommen werden können.

Dieser Text wurde von einer KI erstellt; er ersetzt nicht die Lektüre der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00046
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00046@rel:R25-11#f3a5e9cc
Content hash
f3a5e9cc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00046
Status: valid/unmigrated Version: rel:R25-11#59797236 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00046@rel:R25-11#59797236
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f3a5e9cc2026-09-30
  • R24-11rel:R24-11#027b367b2026-10-14
  • R25-11rel:R25-11#597972362026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00047]

UnsynchronizedPoolResource & operator= (const UnsynchronizedPool Resource &)=delete;

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 6b94e396e900 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Kopierzuweisungsoperator von ara::core::UnsynchronizedPoolResource ist gemäß [SWS_CORE_00047] explizit als gelöscht (=delete) deklariert. Ein Zuweisen einer Instanz an eine andere ist damit syntaktisch ausgeschlossen und führt bereits zur Übersetzungszeit zu einem Compilerfehler. Zusammen mit dem ebenfalls gelöschten Kopierkonstruktor [SWS_CORE_00046] stellt dies sicher, dass Instanzen der Ressourcenklasse weder kopiert noch durch Zuweisung vervielfältigt werden können. Interpretation: Dies dürfte verhindern, dass interne Speicherblöcke und Verwaltungsinformationen mehrfach referenziert oder fehlerhaft deallokiert werden. Frage Q-75cee08bebc61976 (offen)

Neue Instanzen werden stattdessen über die bereitgestellten Konstruktoren erzeugt, beispielsweise parameterlos über [SWS_CORE_00063], mit Upstream-Ressource über [SWS_CORE_00064] oder unter Angabe von PoolOptions über [SWS_CORE_00067] bzw. [SWS_CORE_00068]. Die verknüpfte Upstream-Ressource kann über [SWS_CORE_00056] und die Konfigurationsoptionen über [SWS_CORE_00057] abgefragt werden. Verwalteter Speicher kann mit [SWS_CORE_00065] explizit freigegeben werden, bevor die Lebensdauer mit dem nicht-virtuellen Destruktor [SWS_CORE_00062] endet.

Da Zuweisungen durch [SWS_CORE_00047] ausgeschlossen sind, müssen Instanzen bei Bedarf per Referenz oder Zeiger übergeben werden. Hierbei ist zu beachten, dass Allokationen über [SWS_CORE_00058] und Deallokationen über [SWS_CORE_00059] als nicht threadsicher spezifiziert sind. Schlägt eine Speicheranforderung fehl, wird keine Exception ausgelöst, sondern nullptr zurückgegeben [SWS_CORE_00058]; Fehler bei der Deallokation werden stillschweigend ignoriert [SWS_CORE_00059].

Dieser Nutzungshinweis wurde von einer KI generiert und ersetzt keine manuelle Prüfung.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00047
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00047@rel:R25-11#f066b7c4
Content hash
f066b7c4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00047
Status: valid/unmigrated Version: rel:R25-11#2f9d7309 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00047@rel:R25-11#2f9d7309
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f066b7c42026-09-30
  • R24-11rel:R24-11#d1940f3d2026-10-14
  • R25-11rel:R25-11#2f9d73092026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00056]

MemoryResource * upstream_resource () const noexcept;

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1faa09f94501 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode upstream_resource() der Klasse ara::core::UnsynchronizedPoolResource liefert synchron einen Zeiger auf die übergeordnete MemoryResource zurück [SWS_CORE_00056]. Der Aufruf ist parameterlos und als const deklariert. Einbindung und Typdeklarationen erfolgen über die Header-Datei #include "ara/core/memory_resource.h" [SWS_CORE_00056].

Fehlerbehandlung

Die Funktion ist als noexcept sowie exception safe spezifiziert [SWS_CORE_00056]. Sie löst keine Exceptions aus und meldet weder spezifische Fehlercodes noch DET- oder DEM-Ereignisse. Schlägt die vorangehende Initialisierung über Konstruktoren fehl, sind jene teils nicht ausnahmesicher [SWS_CORE_00063], wohingegen die Abfrage selbst stets fehlerfrei bleibt.

Nebenläufigkeit und Einschränkungen

Die Methode upstream_resource() ist explizit als thread-safe eingestuft [SWS_CORE_00056]. Dies steht im Gegensatz zu den internen Allokationsroutinen do_allocate() [SWS_CORE_00058] und do_deallocate() [SWS_CORE_00059], welche als not thread-safe spezifiziert sind. Zudem sind Kopierkonstruktor und Zuweisungsoperator der Klasse gelöscht [SWS_CORE_00046], [SWS_CORE_00047].

Zusammenspiel

Die Methode interagiert eng mit den Konstruktoren von UnsynchronizedPoolResource, welchen optional eine übergeordnete MemoryResource übergeben werden kann [SWS_CORE_00064], [SWS_CORE_00067]. Interpretation: Der zurückgegebene Zeiger dürfte genau auf die bei der Instanziierung festgelegte Instanz von MemoryResource verweisen. Frage Q-aefbc7d0f7d085d1 (offen) Weitere Eigenschaften der Pool-Ressource lassen sich über options() abfragen [SWS_CORE_00057], während allokierter Speicher über release() freigegeben werden kann [SWS_CORE_00065].

Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00056
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00056@rel:R25-11#a73a827a
Content hash
a73a827a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00056
Status: valid/unmigrated Version: rel:R25-11#1c6adb74 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00056@rel:R25-11#1c6adb74
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#a73a827a2026-09-30
  • R24-11rel:R24-11#99a662532026-10-14
  • R25-11rel:R25-11#1c6adb742026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00057]

PoolOptions options () const noexcept;

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 0e89c24bf535 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Elementfunktion options() der Klasse ara::core::UnsynchronizedPoolResource dient der synchronen Abfrage der Speicherpool-Konfiguration [SWS_CORE_00057]. Die Methode ist in #include "ara/core/memory_resource.h" deklariert, erwartet keine Übergabeparameter und gibt eine Instanz des Typs PoolOptions als Wert zurück [SWS_CORE_00057]. Als const-qualifizierte Funktion modifiziert sie das Objekt nicht und verhält sich gemäß der Spezifikation in [mem.res.pool] [SWS_CORE_00057].

Fehlerbehandlung und Ausnahme-Sicherheit

Die Schnittstelle ist als noexcept definiert und garantiert vollständige Ausnahme-Sicherheit (exception safe) [SWS_CORE_00057]. Es werden keine Exceptions geworfen und es existieren keine Fehlerrückgabewerte; der Abruf der Optionen gelingt stets fehlerfrei.

Nebenläufigkeit und Einschränkungen

In der Spezifikation ist options() als threadsicher (thread-safe) ausgewiesen [SWS_CORE_00057]. Dies steht im Gegensatz zu Allokationsfunktionen derselben Klasse wie do_allocate [SWS_CORE_00058] und do_deallocate [SWS_CORE_00059], welche explizit nicht threadsicher sind. Die Methode kann somit nebenläufig zur Zustandsabfrage ausgeführt werden.

Zusammenspiel

Die zurückgegebenen PoolOptions spiegeln vermutlich die Parameter wider, mit denen die Pool-Ressource über entsprechende Konstruktoren parametrisiert wurde [SWS_CORE_00067], [SWS_CORE_00068], oder repräsentieren die Standardoptionen bei Nutzung von Default-Konstruktoren [SWS_CORE_00063], [SWS_CORE_00064]. Frage Q-19fa8ad6e3e6b1c6 (offen) Neben options() steht für die Inspektion auch die Funktion upstream_resource() bereit [SWS_CORE_00056], während Kopieroperationen der Ressource durch gelöschte Operatoren unterbunden sind [SWS_CORE_00046], [SWS_CORE_00047].

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Adaptive-Spezifikation R25-11 erzeugt.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00057
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00057@rel:R25-11#5ffea9fd
Content hash
5ffea9fd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00057
Status: valid/unmigrated Version: rel:R25-11#74445185 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00057@rel:R25-11#74445185
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#5ffea9fd2026-09-30
  • R24-11rel:R24-11#ba1a12012026-10-14
  • R25-11rel:R25-11#744451852026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00058]

void * do_allocate (size_t bytes, size_t alignment) noexcept override;

As per corresponding usage in [mem.res.pool] except for the following deviations: 1. The function is noexcept 2. The function returns nullptr instead of (potentially) throwing a std::bad_alloc exception

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1abf1e899f64 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode do_allocate der Klasse ara::core::UnsynchronizedPoolResource allokiert Speicher für die angeforderte Bytegröße (bytes) und Ausrichtung (alignment) [SWS_CORE_00058]. Interpretation: Da die Methode mit geschützter Sichtbarkeit (protected) spezifiziert ist, dürfte sie im regulären Ablauf nicht direkt von Anwendungscode, sondern indirekt über die Allokationsschnittstelle der Basisklasse aufgerufen werden. Frage Q-5a702813496f8071 (offen) Die Deklaration erfolgt über die Header-Datei #include "ara/core/memory_resource.h" [SWS_CORE_00058].

Fehlerbehandlung

Im Unterschied zum Standardverhalten nach [mem.res.pool] ist die Funktion als noexcept deklariert und wirft bei Allokationsfehlern keine Ausnahme wie std::bad_alloc [SWS_CORE_00058]. Stattdessen liefert sie im Misserfolgsfall zwingend nullptr zurück [SWS_CORE_00058]. Aufrufender Code muss das Ergebnis folglich stets explizit auf Nullzeiger prüfen.

Nebenläufigkeit und Einschränkungen

Die Funktion ist als not thread-safe eingestuft [SWS_CORE_00058]. Parallele Aufrufe auf derselben Instanz von UnsynchronizedPoolResource sind ohne externe Synchronisation unzulässig. Kopierkonstruktor und Zuweisungsoperator der Klasse sind gelöscht (delete), sodass Instanzen nicht kopiert werden können ([SWS_CORE_00046], [SWS_CORE_00047]).

Zusammenspiel

Für die Speicherfreigabe existiert das Pendant do_deallocate, das ebenfalls geschützt, noexcept und nicht threadsicher ausgelegt ist sowie Fehler still ignoriert [SWS_CORE_00059]. Der Pool nutzt intern die bei der Instanziierung konfigurierte Upstream-Ressource ([SWS_CORE_00056], [SWS_CORE_00064], [SWS_CORE_00067]). Mit release() kann der vom Pool bezogene Speicher gebündelt freigegeben werden [SWS_CORE_00065].

Dieser Text wurde von einer KI generiert und basiert ausschließlich auf den Spezifikationen des Release R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Sichtbarkeitprotected

Rückgabewert

TypBeschreibung
void *• If successful: As per corresponding usage in [mem.res.pool] • If unsuccessful: the returned pointer shall be nullptr

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00058
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00058@rel:R25-11#efd8ac3d
Content hash
efd8ac3d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00058
Status: valid/unmigrated Version: rel:R25-11#da5ef56c Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00058@rel:R25-11#da5ef56c
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#efd8ac3d2026-09-30
  • R24-11rel:R24-11#39a011682026-10-14
  • R25-11rel:R25-11#da5ef56c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00059]

void do_deallocate (void *p, size_t bytes, size_t alignment) noexcept override;

As per corresponding usage in [mem.res.pool] except for the following deviations: 1. The function is noexcept 2. If unsuccessful: errors will be silently ignored

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cf9c9d0f03e7 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die virtuelle Memberfunktion do_deallocate ist als protected im Scope von ara::core::UnsynchronizedPoolResource (Header #include "ara/core/memory_resource.h") deklariert [SWS_CORE_00059]. Sie übernimmt die synchrone Deallokation eines Speicherblocks anhand der übergebenen Parameter p (Zeiger auf den Speicherbereich), bytes (Größe in Byte) und alignment (Ausrichtung). Interpretation: Als geschützte Methode dürfte der Aufruf typischerweise indirekt über die öffentliche Schnittstelle der Speicherressource erfolgen. Frage Q-f4992f515c10ee01 (offen)

Fehlerbehandlung

Gegenüber dem Standardverhalten in [mem.res.pool] weist die Funktion zwei spezifische Abweichungen auf: Sie ist als noexcept deklariert und damit ausnahmesicher [SWS_CORE_00059]. Schlägt die Deallokation fehl, werden Fehler stillschweigend ignoriert (errors will be silently ignored); es existiert weder ein Fehlercode noch eine gesonderte Fehlermeldung.

Nebenläufigkeit und Einschränkungen

Die Operation ist explizit als nicht threadsicher (not thread-safe) ausgewiesen [SWS_CORE_00059]. Werden Speicherbereiche derselben Ressourceninstanz aus mehreren Threads freigegeben, muss der Zugriff zwingend extern synchronisiert werden.

Zusammenspiel

Die Methode komplementiert do_allocate [SWS_CORE_00058], welche ebenfalls als noexcept und nicht threadsicher spezifiziert ist und bei Misserfolg nullptr zurückgibt. Um den gesamten reservierten Speicher des Pools vollständig freizugeben, steht die threadsichere Methode release bereit [SWS_CORE_00065]. Instanzen der Klasse sind nicht kopierbar, da Kopierkonstruktor [SWS_CORE_00046] und Zuweisungsoperator [SWS_CORE_00047] gelöscht sind.

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Sichtbarkeitprotected

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00059
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00059@rel:R25-11#340feda4
Content hash
340feda4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00059
Status: valid/unmigrated Version: rel:R25-11#0cfa5705 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00059@rel:R25-11#0cfa5705
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#340feda42026-09-30
  • R24-11rel:R24-11#9a1b4e8f2026-10-14
  • R25-11rel:R25-11#0cfa57052026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00060]

bool do_is_equal (const MemoryResource &other) const noexcept override;

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 73b01a5b5d45 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die geschützte Elementfunktion do_is_equal der Klasse ara::core::UnsynchronizedPoolResource führt den Gleichheitsvergleich für Speicherressourcen gemäß [SWS_CORE_00060] durch. Sie wird über den Header ara/core/memory_resource.h bereitgestellt. Da die Methode die Sichtbarkeit protected aufweist, ist sie für den internen Aufruf über die Basisklasse MemoryResource vorgesehen ([SWS_CORE_00060]). Sie vergleicht synchron die aktuelle Instanz mit einer übergebenen Referenz vom Typ MemoryResource und gibt einen bool-Wert zurück ([SWS_CORE_00060]). Gemäß [mem.res.pool] dürfte der Vergleich typischerweise auf die Identität beider Ressourcen (this == &other) prüfen, da Speicherpools isoliert agieren. Frage Q-679a5e17d2e2903f (offen)

Die Methode ist als noexcept deklariert und besitzt die Spezifikation exception safe ([SWS_CORE_00060]). Sie löst keine Ausnahmen aus und verwendet keine DET- oder DEM-Fehlermeldungen.

In Bezug auf die Nebenläufigkeit ist do_is_equal als thread-safe eingestuft ([SWS_CORE_00060]). Da sie als konstante Elementfunktion ausschließlich lesend arbeitet, kann sie nebenläufig von mehreren Threads aufgerufen werden. Dies steht im Gegensatz zu Allokationsoperationen wie do_allocate ([SWS_CORE_00058]) und do_deallocate ([SWS_CORE_00059]), welche explizit nicht threadsicher sind.

Im Zusammenspiel der Speicherressourcen ist die Klasse weder kopier- noch zuweisbar ([SWS_CORE_00046], [SWS_CORE_00047]). Instanzen können über Konstruktoren wie [SWS_CORE_00063], [SWS_CORE_00064], [SWS_CORE_00067] oder [SWS_CORE_00068] initialisiert werden. Übergeordnete Speicherquellen lassen sich mit upstream_resource() abfragen ([SWS_CORE_00056]), während vor dem Zerstören ([SWS_CORE_00062]) der belegte Speicher mittels release() freigegeben werden kann ([SWS_CORE_00065]).

Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikationsanforderungen von R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Sichtbarkeitprotected

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00060
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00060@rel:R25-11#2bb31a7e
Content hash
2bb31a7e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00060
Status: valid/unmigrated Version: rel:R25-11#daccdcdc Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00060@rel:R25-11#daccdcdc
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#2bb31a7e2026-09-30
  • R24-11rel:R24-11#b72d3fac2026-10-14
  • R25-11rel:R25-11#daccdcdc2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00062]

~UnsynchronizedPoolResource () noexcept override;

As per corresponding usage in [mem.res.pool] except for the following deviations: 1. The function is not virtual

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4b99104ceb2c Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Destruktor ~UnsynchronizedPoolResource() ([SWS_CORE_00062]) beendet die Lebensdauer einer Instanz der Speicherklasse ara::core::UnsynchronizedPoolResource aus dem Header ara/core/memory_resource.h. Der Aufruf erfolgt synchron und ist als noexcept deklariert, womit die Operation ausnahmesicher ist ([SWS_CORE_00062]).

Die Semantik entspricht grundsätzlich der Pool-Nutzung in [mem.res.pool], weist jedoch eine wesentliche Abweichung auf: Der Destruktor ist nicht virtuell ([SWS_CORE_00062]). Interpretation: Aus der Nicht-Virtualität des Destruktors dürfte folgen, dass Instanzen nicht polymorph über einen Basisklassenzeiger auf MemoryResource freigegeben werden dürfen. Frage Q-5578b2bf008b98c5 (offen)

Hinsichtlich des Lebenszyklus und des Zusammenspiels gelten folgende Bedingungen:

Dieser Nutzungshinweis wurde automatisiert generiert und basiert auf den Spezifikationen des AUTOSAR-Releases R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00062
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00062@rel:R25-11#38d06177
Content hash
38d06177
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00062
Status: valid/unmigrated Version: rel:R25-11#9f8f624d Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00062@rel:R25-11#9f8f624d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#38d061772026-09-30
  • R24-11rel:R24-11#7c782b412026-10-14
  • R25-11rel:R25-11#9f8f624d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00063]

UnsynchronizedPoolResource ();

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b1a57ee10029 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der parameterlose Standardkonstruktor [SWS_CORE_00063] initialisiert eine Instanz von ara::core::UnsynchronizedPoolResource gemäß der Semantik aus [mem.res.pool]. Interpretation: Dabei dürften Standard-Pool-Optionen und eine standardmäßige Upstream-Speicherressource herangezogen werden, welche später über [SWS_CORE_00057] und [SWS_CORE_00056] abfragbar sind. Frage Q-d76bae1c251fa516 (offen)

Hinsichtlich des Lebenszyklus und der Verwendung gelten folgende Rahmenbedingungen:

  • Kopierschutz und Überladung: Kopierkonstruktor [SWS_CORE_00046] und Zuweisungsoperator [SWS_CORE_00047] sind gelöscht (delete). Neben der parameterlosen Instanziierung stehen überladene Konstruktoren mit expliziten Pool-Optionen oder Upstream-Ressourcen zur Verfügung ([SWS_CORE_00064], [SWS_CORE_00067], [SWS_CORE_00068]).
  • Fehlerbehandlung und Exception-Sicherheit: Der Konstruktor ist als nicht ausnahmesicher (not exception safe) deklariert [SWS_CORE_00063]. Im späteren Speicherbetrieb weichen die Speicheroperationen von Standardausnahmen ab: do_allocate liefert im Fehlerfall nullptr anstelle einer Exception [SWS_CORE_00058], während do_deallocate Fehler stillschweigend ignoriert [SWS_CORE_00059].
  • Nebenläufigkeit: Der Konstruktoraufruf selbst ist thread-safe [SWS_CORE_00063]. Die späteren Zuweisungs- und Freigabeoperationen der erzeugten Instanz (do_allocate, do_deallocate) sind jedoch explizit nicht threadsicher (not thread-safe) spezifiziert ([SWS_CORE_00058], [SWS_CORE_00059]).
  • Ressourcenfreigabe und Destruktion: Belegter Speicher kann über [SWS_CORE_00065] freigegeben werden. Der Destruktor ist noexcept, jedoch nicht virtuell implementiert [SWS_CORE_00062].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00063
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00063@rel:R25-11#28c08e1a
Content hash
28c08e1a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00063
Status: valid/unmigrated Version: rel:R25-11#2c19bac6 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00063@rel:R25-11#2c19bac6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#28c08e1a2026-09-30
  • R24-11rel:R24-11#7b830fab2026-10-14
  • R25-11rel:R25-11#2c19bac62026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00064]

explicit UnsynchronizedPoolResource (MemoryResource *upstream);

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 693f1605fced Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Zweck

Der Konstruktor explicit UnsynchronizedPoolResource (MemoryResource *upstream) initialisiert eine Instanz der Klasse ara::core::UnsynchronizedPoolResource aus der Header-Datei #include "ara/core/memory_resource.h" gemäß [mem.res.pool] [SWS_CORE_00064]. Über den Parameter upstream wird die übergeordnete Speicherressource übergeben, welche später über die Methode upstream_resource() abgefragt werden kann [SWS_CORE_00056]. Als Alternativen stehen ein parameterloser Standardkonstruktor [SWS_CORE_00063] sowie Überladungen mit PoolOptions zur Verfügung [SWS_CORE_00067], [SWS_CORE_00068].

Fehlerbehandlung und Ausnahmeverhalten

Die Instanziierung ist als not exception safe spezifiziert [SWS_CORE_00064], sodass während der Konstruktion Ausnahmen auftreten können. Für nachgelagerte Speicherallokationen gelten abweichende Regeln: Die interne Allokationsfunktion do_allocate wirft keine Exception, sondern gibt bei Fehlschlägen nullptr zurück [SWS_CORE_00058], während Fehler bei do_deallocate stillschweigend ignoriert werden [SWS_CORE_00059].

Nebenläufigkeit und Einschränkungen

Der Konstruktoraufruf selbst gilt als thread-safe [SWS_CORE_00064]. Kopieroperationen sind unterbunden, da sowohl der Copy-Konstruktor [SWS_CORE_00046] als auch der Zuweisungsoperator [SWS_CORE_00047] gelöscht sind. Nach der Konstruktion sind die Allokations- und Deallokationsoperationen nicht thread-safe [SWS_CORE_00058], [SWS_CORE_00059]. Zudem ist der Destruktor nicht virtuell deklariert [SWS_CORE_00062]. Belegter Speicher kann über release() vorzeitig freigegeben werden [SWS_CORE_00065]. Interpretation: Da ein nativer Zeiger upstream übergeben wird, dürfte die referenzierte Upstream-Ressource über die gesamte Lebensdauer der Pool-Instanz hinweg gültig bleiben müssen. Frage Q-3e6c23bae834b912 (offen)

Dieser Text wurde von einer KI generiert und dient der technischen Orientierung.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00064
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00064@rel:R25-11#c097923b
Content hash
c097923b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00064
Status: valid/unmigrated Version: rel:R25-11#c644ce0f Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00064@rel:R25-11#c644ce0f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#c097923b2026-09-30
  • R24-11rel:R24-11#a176f3dd2026-10-14
  • R25-11rel:R25-11#c644ce0f2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00065]

void release () noexcept;

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e7ed99220f1f Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Elementfunktion release() gehört zum Scope der Klasse ara::core::UnsynchronizedPoolResource und wird über die Header-Datei ara/core/memory_resource.h deklariert [SWS_CORE_00065]. Die Funktion besitzt keine Übergabeparameter und keinen Rückgabewert (void). Ihre funktionale Semantik richtet sich nach dem C++-Standard [mem.res.pool] [SWS_CORE_00065]; der Verweis dürfte bedeuten, dass die Funktion synchron sämtlichen Speicher, der über die Pool-Instanz alloziert wurde, an die vorgelagerte Speicherressource (upstream_resource()) zurückgibt [SWS_CORE_00056]. Frage Q-e0c7e00cde5d5a34 (offen)

Fehlerbehandlung

Die Funktion ist als noexcept sowie als exception safe definiert [SWS_CORE_00065]. Sie löst bei der Ausführung keine Ausnahmen aus. Da die Spezifikation keine spezifischen Fehlercodes oder DET-/DEM-Meldungen aufführt, findet bei Fehlern der Speicherfreigabe keine explizite Fehlerrückmeldung über release() statt.

Nebenläufigkeit und Einschränkungen

Gemäß Spezifikation ist release() als thread-safe klassifiziert [SWS_CORE_00065]. Dies steht im Gegensatz zu den internen Speicherverwaltungsfunktionen der Klasse: Sowohl die Allokation mittels do_allocate [SWS_CORE_00058] als auch die Deallokation über do_deallocate [SWS_CORE_00059] sind explizit als not thread-safe eingestuft.

Zusammenspiel

Die Methode interagiert eng mit weiteren Eigenschaften und Anforderungen der UnsynchronizedPoolResource:

  • Speicherressourcen: Sie gibt den Speicher an die konfigurierte Upstream-Ressource zurück [SWS_CORE_00056], ohne dass das Pool-Objekt selbst zerstört werden muss, wie es beim Destruktor ~UnsynchronizedPoolResource() geschieht [SWS_CORE_00062].
  • Konfiguration: Das Verhalten und die Chunk-Größen des Pools hängen von den bei der Instanziierung gesetzten Optionen ab [SWS_CORE_00057], [SWS_CORE_00067], [SWS_CORE_00068].
  • Kopierschutz: Eine Duplizierung des Pools ist unzulässig, da Copy-Konstruktor [SWS_CORE_00046] und Zuweisungsoperator [SWS_CORE_00047] gelöscht (delete) sind.

Dieser Text basiert auf der Spezifikation des AUTOSAR-Releases R25-11 für das Modul Core.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00065
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00065@rel:R25-11#eea049d0
Content hash
eea049d0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00065
Status: valid/unmigrated Version: rel:R25-11#94a5a1a2 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00065@rel:R25-11#94a5a1a2
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#eea049d02026-09-30
  • R24-11rel:R24-11#baa95ca82026-10-14
  • R25-11rel:R25-11#94a5a1a22026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00067]

UnsynchronizedPoolResource (const PoolOptions &opts, MemoryResource *upstream) noexcept;

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 9bac3333fca1 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Konstruktor [SWS_CORE_00067] initialisiert eine Instanz von ara::core::UnsynchronizedPoolResource mit spezifischen Pool-Optionen (opts) und einer übergeordneten Speicherressource (upstream). Der Aufruf erfolgt synchron und ist als noexcept spezifiziert, womit die Objekterzeugung ausnahmesicher ist. Ein Kopieren der Instanz ist ausgeschlossen, da sowohl der Kopierkonstruktor [SWS_CORE_00046] als auch der Zuweisungsoperator [SWS_CORE_00047] gelöscht (=delete) sind.

Die hinterlegten Einstellungen und Upstream-Ressourcen können zur Laufzeit über options() [SWS_CORE_00057] sowie upstream_resource() [SWS_CORE_00056] ausgelesen werden. Als Alternativen stehen ein Standardkonstruktor [SWS_CORE_00063] sowie Überladungen bereit, die ausschließlich upstream [SWS_CORE_00064] oder opts [SWS_CORE_00068] entgegennehmen. Der belegte Speicher kann über release() [SWS_CORE_00065] oder den Destruktor [SWS_CORE_00062] freigegeben werden, wobei der Destruktor abweichend vom Standard nicht virtuell ist.

Hinsichtlich der Nebenläufigkeit ist die Konstruktion selbst als threadsicher deklariert [SWS_CORE_00067]. Die eigentlichen Speicherverwaltungsfunktionen der Instanz – do_allocate [SWS_CORE_00058] und do_deallocate [SWS_CORE_00059] – sind hingegen ausdrücklich nicht threadsicher („not thread-safe“) und erfordern bei parallelem Zugriff externe Schutzmechanismen. Fehler werden dabei ohne Exceptions verarbeitet: Fehlgeschlagene Allokationen liefern nullptr [SWS_CORE_00058], während Deallokationsfehler stillschweigend ignoriert werden [SWS_CORE_00059]. Interpretation: Das übergebene upstream-Objekt muss vermutlich über den gesamten Lebenszyklus des Pools hinweg gültig bleiben. Frage Q-2439ec8f9fb8bb3e (offen)

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00067
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00067@rel:R25-11#6d8dcfe7
Content hash
6d8dcfe7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00067
Status: valid/unmigrated Version: rel:R25-11#937ed663 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00067@rel:R25-11#937ed663
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#6d8dcfe72026-09-30
  • R24-11rel:R24-11#68f56d882026-10-14
  • R25-11rel:R25-11#937ed6632026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPool [SWS_CORE_00068]

explicit UnsynchronizedPoolResource (const PoolOptions &opts);

As per corresponding usage in [mem.res.pool]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 379494cd66cf Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Konstruktor [SWS_CORE_00068] dient der synchronen Initialisierung einer ara::core::UnsynchronizedPoolResource unter Angabe spezifischer Konfigurationsparameter über den Parameter opts (Typ PoolOptions). Das Verhalten richtet sich nach dem Standard [mem.res.pool] aus der Header-Datei ara/core/memory_resource.h. Die übergebenen Einstellungen können nach der Instanziierung mit options() [SWS_CORE_00057] abgerufen werden, während der vorgelagerte Speicherverwalter über upstream_resource() [SWS_CORE_00056] erreichbar ist.

Hinsichtlich der Fehlerbehandlung ist die Funktion als nicht ausnahmesicher („not exception safe“) spezifiziert [SWS_CORE_00068]. Interpretation: Scheitert die interne Bereitstellung von Verwaltungsstrukturen bei der Instanziierung, dürfte eine Ausnahme geworfen werden, womit sich dieser Aufruf von der noexcept-Variante [SWS_CORE_00067] unterscheidet. Frage Q-479a016f4e0ddde7 (offen) Während der Konstruktor selbst als threadsicher („thread-safe“) klassifiziert ist [SWS_CORE_00068], sind spätere Speicheroperationen der resultierenden Instanz wie do_allocate [SWS_CORE_00058] und do_deallocate [SWS_CORE_00059] ausdrücklich nicht threadsicher („not thread-safe“); sie dürfen folglich nicht ungeschützt nebenläufig ausgeführt werden.

Im Zusammenspiel mit dem Lebenszyklus der Klasse ist zu beachten, dass Kopierkonstruktion [SWS_CORE_00046] und Zuweisungsoperator [SWS_CORE_00047] gelöscht (delete) sind. Allokierter Speicher verbleibt im Pool, bis er über release() [SWS_CORE_00065] freigegeben oder das Objekt über den nicht-virtuellen Destruktor [SWS_CORE_00062] zerstört wird.

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00068
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00068@rel:R25-11#86f2e6e2
Content hash
86f2e6e2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00068
Status: valid/unmigrated Version: rel:R25-11#e78396bd Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00068@rel:R25-11#e78396bd
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#86f2e6e22026-09-30
  • R24-11rel:R24-11#cce92eb22026-10-14
  • R25-11rel:R25-11#e78396bd2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsynchronizedPoolResource [SWS_CORE_00048] Upstream: RS_AP_00130

UnsynchronizedPoolResource (UnsynchronizedPoolResource &&other) noexcept=default;

[AUTOSAR defined] not present in ISO-14882. Move constructor

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00048
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00048@rel:R25-11#2bb863f6
Content hash
2bb863f6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00048
Status: valid/unmigrated Version: rel:R25-11#3f204655 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00048@rel:R25-11#3f204655
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#2bb863f62026-09-30
  • R24-11rel:R24-11#ed8457142026-10-14
  • R25-11rel:R25-11#3f2046552026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function operator= [SWS_CORE_00049] Upstream: RS_AP_00130

UnsynchronizedPoolResource & operator= (UnsynchronizedPoolResource &&other) noexcept=default;

[AUTOSAR defined] not present in ISO-14882. Move assignment operator

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::UnsynchronizedPoolResource
Exception-Sicherheitexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00049
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00049@rel:R25-11#dc6a53cb
Content hash
dc6a53cb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00049
Status: valid/unmigrated Version: rel:R25-11#5752ca0c Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00049@rel:R25-11#5752ca0c
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#dc6a53cb2026-09-30
  • R24-11rel:R24-11#0a1beb162026-10-14
  • R25-11rel:R25-11#5752ca0c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill