DEENESPTFRRUARHIKOZHNL

class ara::core::PolymorphicAllocator

[SWS_CORE_06540] Upstream: RS_AP_00130

template <class Tp = ara::core::Byte> class PolymorphicAllocator {...};

Implementation of std::pmr::polymorphic_allocator from [mem.poly.allocator.class]

Header-Datei#include "ara/core/memory_resource.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core

User GuideKI-GENERIERT

Verwaltet polymorphe Speicherallokation für Objekte und Container über austauschbare Speicherressourcen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4f3088ca1f09 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwaltet polymorphe Speicherallokation für Objekte und Container über austauschbare Speicherressourcen.

Die Template-Klasse kapselt die speicherressourcenbasierte dynamische Allokation für adaptive Anwendungen und Container als vollständig ausnahmefreie Implementierung polymorpher Allokatoren [SWS_CORE_06541]. Zur flexiblen Steuerung des Objektlebenszyklus delegiert die Instanz sämtliche Speicheranforderungen an eine austauschbare Speicherressource, wobei fehlgeschlagene Allokationen deterministisch Nullzeiger anstelle von C++-Exceptions zurückliefern [SWS_CORE_06547]. Als wesentliche funktionale Randbedingungen ist die reguläre Kopierzuweisung explizit unterbunden, während fehlerhafte Freigabeoperationen im laufenden Betrieb stets stillschweigend ignoriert werden.

Kontext

Die Template-Klasse ara::core::PolymorphicAllocator realisiert in AUTOSAR Adaptive die Schnittstelle zur zustandsbehafteten, polymorphen Speicherallokation gemäß dem C++-Standardmuster und definiert den zugrunde liegenden Elementtyp value_type [SWS_CORE_06572]. Sie vermittelt als Adapter zwischen aufrufenden Komponenten – wie Containern oder Anwendungsstrukturen – und einer konkreten Speicherressource. Über die Methode resource() lässt sich der Zeiger auf die genutzte MemoryResource jederzeit abfragen [SWS_CORE_06557]. Durch diese Kapselung wird die Anforderung von Speicher semantisch von der konkreten Implementierung der Speicherverwaltung getrennt.

diag_context caller Aufrufer / Container allocator PolymorphicAllocator caller->allocator Allokationsaufruf resource MemoryResource allocator->resource Speicherdelegierung

Kontextdiagramm: Einbindung des Allokators zwischen Aufrufer und Speicherressource. Quellen: [SWS_CORE_06557], [SWS_CORE_06572].

Lebenszyklus

Instanzen des Allokators werden entweder standardmäßig [SWS_CORE_06541] oder mit einem Zeiger auf eine spezifische MemoryResource konstruiert [SWS_CORE_06542]. Da der Allokator die Speicherressource lediglich referenziert, liegt die Verantwortung für deren Lebensdauer vermutlich beim Aufrufer. Frage Q-adde89798a03cf8b (offen) Neben dem regulären Kopierkonstruktor [SWS_CORE_06543] gestattet ein Konvertierungskonstruktor die Initialisierung aus Allokatoren für andere Elementtypen U [SWS_CORE_06544].

In Bezug auf Eigentumsübergänge ist der reguläre Kopierzuweisungsoperator gelöscht (=delete) [SWS_CORE_06545]. Demgegenüber definiert AUTOSAR explizit einen Move-Konstruktor [SWS_CORE_06546] sowie einen Standard-Move-Zuweisungsoperator [SWS_CORE_00066]. Bei Kopieroperationen von Containern erzeugt die Methode select_on_container_copy_construction() eine entsprechende Allokator-Instanz [SWS_CORE_06573].

Hinsichtlich der Nebenläufigkeit sind die Standard- und Konvertierungskonstruktoren sowie die Abfrage der Speicherressource als thread-safe spezifiziert ([SWS_CORE_06541], [SWS_CORE_06542], [SWS_CORE_06544], [SWS_CORE_06557]). Dagegen sind Move-Operationen ([SWS_CORE_06546]), Kopierselektionen ([SWS_CORE_06573]) sowie alle Allokations-, Konstruktions- und Deallokationsoperationen als nicht thread-safe deklariert.

Nutzungspfad

Der reguläre Ablauf umfasst die Bereitstellung von Speicher, die Konstruktion von Objekten sowie deren spätere Zerstörung und Freigabe:

  • Speicherallokation: Rohspeicher für n Objekte des Typs Tp wird mittels allocate() angefordert [SWS_CORE_06547]. Alternativ stehen allocate_bytes() für bytegenaue Allokation mit Ausrichtung [SWS_CORE_06549] sowie das Template allocate_object() für typisierte Allokationen bereit [SWS_CORE_06551].
  • Objektinitialisierung: Die Methode construct() erzeugt Objekte auf dem zuvor allokierten Speicherbereich [SWS_CORE_06555]. Als kombinierte Operation bietet new_object() die Allokation und In-Place-Konstruktion in einem Aufruf [SWS_CORE_06553].
  • Destruktion und Freigabe: Die Zerstörung erfolgt über destroy() [SWS_CORE_06556], gefolgt von der Freigabe über deallocate() [SWS_CORE_06548], deallocate_bytes() [SWS_CORE_06550] oder deallocate_object() [SWS_CORE_06552]. Beides lässt sich alternativ mit delete_object() zusammenfassen [SWS_CORE_06554].
Ablauf der Allokation, Konstruktion, Zerstörung und FreigabeAufruferPolymorphicAllocatorMemoryResourceallocate(n)Speicher anfordernSpeicheradresseTp* (oder nullptr)construct(p, args...)Objektkonstruktiondestroy(p)Objektdestruktiondeallocate(p, n)Speicher freigeben

Sequenzdiagramm: Typischer Ablauf von Allokation, Konstruktion, Zerstörung und Freigabe. Quellen: [SWS_CORE_06547], [SWS_CORE_06548], [SWS_CORE_06555], [SWS_CORE_06556].

Fehlerszenarien

Die Klasse unterscheidet sich in wesentlichen Fehlerbehandlungsmechanismen vom ISO-C++-Standard, um strenge Anforderungen an ausnahmefreie Systeme zu erfüllen:

Dieser Leitfaden basiert auf der Spezifikation von ara::core::PolymorphicAllocator aus AUTOSAR R25-11 und wurde automatisiert erstellt.

Mitgliederkarte

Klassendiagramm

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

G nara__core__PolymorphicAllocator970 PolymorphicAllocator + PolymorphicAllocator() + operator=() + allocate() + allocate_bytes() + allocate_object() + construct() + deallocate() + deallocate_bytes() + deallocate_object() + delete_object() + destroy() + new_object() + resource() + select_on_container_copy_construction()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

≙ [mem.poly.allocator.class]

Überladungen PolymorphicAllocator 5
PolymorphicAllocator () noexcept; SWS_CORE_06541
PolymorphicAllocator (MemoryResource *r) noexcept; SWS_CORE_06542
PolymorphicAllocator (const PolymorphicAllocator &other) noexcept=default; SWS_CORE_06543
template <class U> PolymorphicAllocator (const PolymorphicAllocator< U > &other) noexcept; SWS_CORE_06544
PolymorphicAllocator (PolymorphicAllocator &&other) noexcept; SWS_CORE_06546

Methoden

allocate function

except for the following deviations: 1. The function is noexcept 2. If unsuccessful: nullptr is returned, instead of raising any Exception ≙ [mem.poly.allocator.class]

[[nodiscard]] Tp * allocate (std::size_t n) noexcept;

except for the following deviations: 1. The function is noexcept 2. If unsuccessful: the returned pointer shall be nullptr ≙ [mem.poly.allocator.class]

[[nodiscard]] void * allocate_bytes (std::size_t nbytes, std::size_t alignment=alignof(std::max_align_t)) noexcept;

except for the following deviations: 1. The function is noexcept 2. If unsuccessful: the returned pointer shall be nullptr ≙ [mem.poly.allocator.class]

template <class T> [[nodiscard]] T * allocate_object (std::size_t n=1) noexcept;
construct function

except for the following deviations: 1. Function is conditionally noexcept ≙ [mem.poly.allocator.class]

template <class T, class... Args> void construct (T *p, Args &&... args) noexcept(std::is_nothrow_ constructible< T, Args... >::value);
deallocate function

except for the following deviations: 1. The function is noexcept 2. If unsuccessful: errors will be silently ignored ≙ [mem.poly.allocator.class]

void deallocate (Tp *p, std::size_t n) noexcept;

except for the following deviations: 1. The function is noexcept 2. If unsuccessful: errors will be silently ignored ≙ [mem.poly.allocator.class]

void deallocate_bytes (void *p, std::size_t nbytes, std::size_t alignment=alignof(std::max_align_t)) noexcept;

except for the following deviations: 1. Function is nullptr 2. If unsuccessful: errors will be silently ignored ≙ [mem.poly.allocator.class]

template <class T> void deallocate_object (T *p, std::size_t n=1) noexcept;
delete_object function

except for the following deviations: 1. Function is conditionally noexcept 2. If unsuccessful: errors will be silently ignored ≙ [mem.poly.allocator.class]

template <class T> void delete_object (T *p) noexcept(std::is_nothrow_destructible< T >::value);
destroy function

except for the following deviations: 1. Function is conditionally noexcept ≙ [mem.poly.allocator.class]

template <class T> void destroy (T *p) noexcept(std::is_nothrow_destructible< T >::value);
new_object function

except for the following deviations: 1. Function is conditionally noexcept 2. If unsuccessful: nullptr is returned, instead of raising any Exception ≙ [mem.poly.allocator.class]

template <class T, class... CtorArgs> [[nodiscard]] T * new_object (CtorArgs &&... ctor_args) noexcept(std::is_nothrow_constructible< T, CtorArgs... >::value);
resource function

≙ [mem.poly.allocator.class]

MemoryResource * resource () const noexcept;

except for the following deviations: 1. The function is noexcept ≙ [mem.poly.allocator.class]

PolymorphicAllocator select_on_container_copy_construction () const noexcept;

Operatoren

operator= function 2

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

Überladungen = 2
PolymorphicAllocator & operator= (PolymorphicAllocator &&other) noexcept=default; SWS_CORE_00066

Typaliase

value_type type alias

≙ [mem.poly.allocator.class]

using value_type = Tp;

Dokumentation der Methoden

function PolymorphicAllocator [SWS_CORE_06541]

PolymorphicAllocator () noexcept;

As per corresponding usage in [mem.poly.allocator.class]

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06541
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06541@rel:R25-11#7e6fd9e5
Content hash
7e6fd9e5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06541
Status: valid/unmigrated Version: rel:R25-11#195a35ec Versionshistorie & Revisions (1 transition, 4 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_06541@rel:R25-11#195a35ec
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#7e6fd9e52026-09-30
  • R23-11rel:R23-11#1465b8862026-10-14
  • R24-11rel:R24-11#a1bf01392026-10-14
  • R25-11rel:R25-11#195a35ec2026-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 PolymorphicAllocator [SWS_CORE_06542]

PolymorphicAllocator (MemoryResource *r) noexcept;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. The function is noexcept

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06542
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06542@rel:R25-11#8ff7601b
Content hash
8ff7601b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06542
Status: valid/unmigrated Version: rel:R25-11#8bd93278 Versionshistorie & Revisions (1 transition, 4 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_06542@rel:R25-11#8bd93278
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#8ff7601b2026-09-30
  • R23-11rel:R23-11#d5a7d6172026-10-14
  • R24-11rel:R24-11#728611b82026-10-14
  • R25-11rel:R25-11#8bd932782026-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 PolymorphicAllocator [SWS_CORE_06543]

PolymorphicAllocator (const PolymorphicAllocator &other) noexcept=default;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. The function is noexcept

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06543
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06543@rel:R25-11#50677d20
Content hash
50677d20
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06543
Status: valid/unmigrated Version: rel:R25-11#5d62e6ca Versionshistorie & Revisions (1 transition, 4 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_06543@rel:R25-11#5d62e6ca
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#50677d202026-09-30
  • R23-11rel:R23-11#fc99e5522026-10-14
  • R24-11rel:R24-11#7f7cdd4b2026-10-14
  • R25-11rel:R25-11#5d62e6ca2026-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 PolymorphicAllocator [SWS_CORE_06544]

template <class U> PolymorphicAllocator (const PolymorphicAllocator< U > &other) noexcept;

As per corresponding usage in [mem.poly.allocator.class]

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06544
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06544@rel:R25-11#1facdd41
Content hash
1facdd41
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06544
Status: valid/unmigrated Version: rel:R25-11#539ac7f5 Versionshistorie & Revisions (1 transition, 4 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_06544@rel:R25-11#539ac7f5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1facdd412026-09-30
  • R23-11rel:R23-11#a331d77c2026-10-14
  • R24-11rel:R24-11#745d118b2026-10-14
  • R25-11rel:R25-11#539ac7f52026-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 PolymorphicAllocator [SWS_CORE_06546] Upstream: RS_AP_00145

PolymorphicAllocator (PolymorphicAllocator &&other) noexcept;

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

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

Parameter (in)

ParameterBeschreibung
otherother PolymorphicAllocator to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_06546
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06546@rel:R25-11#cbffc445
Content hash
cbffc445
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06546
Status: valid/unmigrated Version: rel:R25-11#8cbb6f43 Versionshistorie & Revisions (1 transition, 4 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_06546@rel:R25-11#8cbb6f43
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#cbffc4452026-09-30
  • R23-11rel:R23-11#76904a592026-10-14
  • R24-11rel:R24-11#fb6303702026-10-14
  • R25-11rel:R25-11#8cbb6f432026-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 allocate [SWS_CORE_06547]

[[nodiscard]] Tp * allocate (std::size_t n) noexcept;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. The function is noexcept 2. If unsuccessful: nullptr is returned, instead of raising any Exception

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

Die Memberfunktion allocate der Klasse ara::core::PolymorphicAllocator dient der synchronen Anforderung von uninitialisiertem Speicher für n Objekte des Typs Tp [SWS_CORE_06547]. Sie orientiert sich an der Funktionalität von [mem.poly.allocator.class], weicht jedoch durch die Deklaration als noexcept und das Attribut [[nodiscard]] gezielt vom C++-Standard ab [SWS_CORE_06547].

Im Fehlerfall wirft allocate keine Ausnahme wie std::bad_alloc, sondern liefert stattdessen einen nullptr zurück [SWS_CORE_06547]. Wegen [[nodiscard]] muss der Aufrufer den Rückgabewert explizit entgegennehmen und auf nullptr prüfen, bevor er den Speicherbereich verwendet [SWS_CORE_06547]. Hinsichtlich der Nebenläufigkeit ist die Funktion als Exception-Safe eingestuft, gilt jedoch als nicht threadsicher (not thread-safe) [SWS_CORE_06547]. Interpretation: Ein synchroner Aufruf über denselben Allokator aus verschiedenen Threads dürfte daher eine externe Absicherung durch den Aufrufer verlangen. Frage Q-b00116faadf930fe (offen)

Das fehlertolerante Verhalten ohne Exceptions korrespondiert direkt mit der Schnittstelle ara::core::MemoryResource::allocate [SWS_CORE_06503], welche ebenfalls als noexcept definiert ist und im Fehlerfall nullptr zurückgibt. Auch vordefinierte Instanzen wie NullMemoryResource [SWS_CORE_06563] nutzen dieses Prinzip und liefern bei Allokationsaufrufen konsequent nullptr. Auf übergeordneter Ebene interagiert dieser Mechanismus mit Containern wie ara::core::Vector [SWS_CORE_01315], deren Zuweisungsoperatoren auf solche Allokationseigenschaften abgestimmt sind.

Dieser Text wurde automatisch generiert. Maßgeblich ist die AUTOSAR-Spezifikation.

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

Rückgabewert

TypBeschreibung
Tp *• If successful: As per corresponding usage in [mem.poly.allocator.class] • 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_06547
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06547@rel:R25-11#1a694469
Content hash
1a694469
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06547
Status: valid/unmigrated Version: rel:R25-11#c37fff24 Versionshistorie & Revisions (1 transition, 4 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_06547@rel:R25-11#c37fff24
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1a6944692026-09-30
  • R23-11rel:R23-11#eca29eb82026-10-14
  • R24-11rel:R24-11#ae9311ae2026-10-14
  • R25-11rel:R25-11#c37fff242026-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 allocate_bytes [SWS_CORE_06549]

[[nodiscard]] void * allocate_bytes (std::size_t nbytes, std::size_t alignment=alignof(std::max_align_t)) noexcept;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. The function is noexcept 2. If unsuccessful: the returned pointer shall be nullptr

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

Verwendung

Die Elementfunktion allocate_bytes der Klasse ara::core::PolymorphicAllocator reserviert Rohspeicher im Umfang von nbytes mit dem vorgegebenen Alignment alignment [SWS_CORE_06549]. Der Standardwert für das Alignment entspricht alignof(std::max_align_t) [SWS_CORE_06549]. Die Funktion wird über den Header ara/core/memory_resource.h eingebunden und synchron ausgeführt [SWS_CORE_06549].

Fehlerbehandlung und Semantik

Im Unterschied zum Standardverhalten nach [mem.poly.allocator.class] weist die Implementierung zwei Abweichungen auf [SWS_CORE_06549]:

  • Die Funktion ist als noexcept deklariert und wirft keine Ausnahmen [SWS_CORE_06549].
  • Schlägt die Allokation fehl, gibt die Funktion nullptr zurück, anstatt eine Ausnahme auszulösen [SWS_CORE_06549].

Aufgrund des Attributs [[nodiscard]] muss der Rückgabewert vom Aufrufer ausgewertet werden, insbesondere durch eine Prüfung auf nullptr vor dem Zugriff auf den Speicherbereich [SWS_CORE_06549].

Nebenläufigkeit und Einschränkungen

Hinsichtlich der Thread-Sicherheit ist die Methode als not thread-safe spezifiziert [SWS_CORE_06549]. Parallele Aufrufe auf derselben Instanz bedürfen daher vermutlich einer externen Synchronisation [SWS_CORE_06549]. Frage Q-85c74d55563cae38 (offen) Bezüglich der Exception-Sicherheit gilt die Operation als exception safe [SWS_CORE_06549].

Dieser Text wurde von einer KI auf Basis der Spezifikation erstellt.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06549
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06549@rel:R25-11#d65ae27d
Content hash
d65ae27d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06549
Status: valid/unmigrated Version: rel:R25-11#126a0b29 Versionshistorie & Revisions (1 transition, 4 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_06549@rel:R25-11#126a0b29
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#d65ae27d2026-09-30
  • R23-11rel:R23-11#d9ed47762026-10-14
  • R24-11rel:R24-11#9b3f93072026-10-14
  • R25-11rel:R25-11#126a0b292026-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 allocate_object [SWS_CORE_06551]

template <class T> [[nodiscard]] T * allocate_object (std::size_t n=1) noexcept;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. The function is noexcept 2. If unsuccessful: the returned pointer shall be nullptr

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

Verwendung

Die Template-Elementfunktion allocate_object ist Bestandteil der Klasse ara::core::PolymorphicAllocator und wird über die Header-Datei #include "ara/core/memory_resource.h" bereitgestellt [SWS_CORE_06551]. Sie allokiert synchron Speicher für n Objekte des Typs T, wobei der Parameter n standardmäßig mit dem Wert 1 belegt ist [SWS_CORE_06551]. Das Compiler-Attribut [[nodiscard]] verpflichtet Aufrufer dazu, den zurückgegebenen typisierten Zeiger T* nicht zu ignorieren.

Fehlerbehandlung

Die Spezifikation definiert zwei explizite Abweichungen vom Standard [mem.poly.allocator.class] [SWS_CORE_06551]:

  • Keine Exceptions: Die Funktion ist als noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_CORE_06551].
  • Nullzeiger im Fehlerfall: Schlägt die Speicherallokation fehl, wird keine Exception geworfen, sondern zwingend nullptr zurückgegeben [SWS_CORE_06551].

Der Aufrufer muss den gelieferten Zeiger daher unmittelbar vor einer Weiterverwendung auf nullptr prüfen.

Nebenläufigkeit und Einschränkungen

Die Operation ist als nicht threadsicher (not thread-safe) spezifiziert [SWS_CORE_06551]. Bei nebenläufiger Verwendung derselben Allokator-Instanz dürfte eine externe Synchronisation erforderlich sein, um Datenrennen zu vermeiden. Zudem reserviert die Funktion reinen Speicher (Interpretation: die Konstruktion von Objekten im reservierten Speicher obliegt nachgelagerten Mechanismen). Frage Q-c41df2caaeb4c503 (offen)

Dieser Text wurde von einer KI erstellt und basiert auf der Spezifikation von AUTOSAR R25-11.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06551
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06551@rel:R25-11#3b58128a
Content hash
3b58128a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06551
Status: valid/unmigrated Version: rel:R25-11#e1e4da70 Versionshistorie & Revisions (1 transition, 4 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_06551@rel:R25-11#e1e4da70
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#3b58128a2026-09-30
  • R23-11rel:R23-11#68fdb6af2026-10-14
  • R24-11rel:R24-11#e6cdc1b02026-10-14
  • R25-11rel:R25-11#e1e4da702026-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 construct [SWS_CORE_06555]

template <class T, class... Args> void construct (T *p, Args &&... args) noexcept(std::is_nothrow_ constructible< T, Args... >::value);

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is conditionally noexcept

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

Die Template-Funktion construct der Klasse ara::core::PolymorphicAllocator ([SWS_CORE_06555]) dient dem synchronen Erzeugen eines Objekts vom Typ T an der übergebenen Speicheradresse p unter Weiterleitung der Argumente args.... Sie ist über den Header ara/core/memory_resource.h definiert und folgt im Wesentlichen den Vorgaben aus [mem.poly.allocator.class].

Eine explizite Abweichung vom C++-Standard betrifft die Ausnahmebehandlung: Gemäß [SWS_CORE_06555] ist die Funktion bedingt als noexcept deklariert, abhängig davon, ob std::is_nothrow_constructible<T, Args...>::value zutrifft. Die Spezifikation weist ihr damit das Attribut conditionally exception safe zu. Interpretation: Sofern T nicht ausnahmefrei konstruierbar ist, dürften etwaige Konstruktor-Ausnahmen ungehindert an den Aufrufer propagiert werden, da keine internen Fehlercodes oder gesonderten Abfangmechanismen definiert sind. Frage Q-ad77510f396e59ae (offen)

Hinsichtlich Nebenläufigkeit und Randbedingungen ist construct als nicht threadsicher (not thread-safe) spezifiziert ([SWS_CORE_06555]). Bei parallelen Zugriffen auf dieselbe Allocator-Instanz oder denselben Speicherbereich ist daher eine externe Synchronisation im Aufrufkontext zwingend erforderlich.

Das Architekturmuster einer typabhängigen noexcept-Deklaration entspricht den Konventionen in ara::core, wie sie unter anderem auch bei den Konstruktoren von ara::core::Result eingesetzt werden ([SWS_CORE_00725], [SWS_CORE_00726]).

Dieser Nutzungshinweis wurde automatisiert generiert und stützt sich ausschließlich auf die Spezifikation von AUTOSAR Adaptive Release R25-11.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_CORE_06555
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06555@rel:R25-11#797687e3
Content hash
797687e3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06555
Status: valid/unmigrated Version: rel:R25-11#0973fb97 Versionshistorie & Revisions (1 transition, 4 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_06555@rel:R25-11#0973fb97
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#797687e32026-09-30
  • R23-11rel:R23-11#62b249762026-10-14
  • R24-11rel:R24-11#44e873a92026-10-14
  • R25-11rel:R25-11#0973fb972026-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 deallocate [SWS_CORE_06548]

void deallocate (Tp *p, std::size_t n) noexcept;

As per corresponding usage in [mem.poly.allocator.class] 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: 2c2725501203 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Elementfunktion deallocate der Klasse ara::core::PolymorphicAllocator gibt zuvor allozierten Speicher für n Objekte des Typs Tp ab der Adresse p frei [SWS_CORE_06548]. Die Deklaration erfolgt über den Header ara/core/memory_resource.h [SWS_CORE_06548]. Die Funktion folgt grundsätzlich der Semantik des Standard-C++-Allocators gemäß [mem.poly.allocator.class], weist jedoch zwei spezifische Abweichungen auf [SWS_CORE_06548].

Fehlerbehandlung und Exception-Sicherheit

Als wesentliche Abweichung ist die Operation als noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_CORE_06548]. Schlägt die Freigabe des Speichers fehl, werden auftretende Fehler stillschweigend ignoriert (silently ignored), sodass weder Ausnahmen geworfen noch explizite Fehlercodes zurückgemeldet werden [SWS_CORE_06548].

Nebenläufigkeit und Zusammenspiel

Hinsichtlich des Aufrufkontexts ist deallocate als nicht threadsicher (not thread-safe) eingestuft [SWS_CORE_06548]. Im Speicherverwaltungskonzept korrespondiert diese Funktion mit der Methode deallocate der zugrundeliegenden Basisklasse ara::core::MemoryResource [SWS_CORE_06504], für die dieselben Abweichungen bezüglich noexcept und stillschweigender Fehlerbehandlung gelten.

Dieser Nutzungshinweis wurde automatisiert erstellt und basiert ausschließlich auf den Spezifikationsanforderungen von AUTOSAR Adaptive.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06548
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06548@rel:R25-11#824b5be3
Content hash
824b5be3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06548
Status: valid/unmigrated Version: rel:R25-11#d1d0b454 Versionshistorie & Revisions (1 transition, 4 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_06548@rel:R25-11#d1d0b454
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#824b5be32026-09-30
  • R23-11rel:R23-11#af3c4e332026-10-14
  • R24-11rel:R24-11#92f9b2332026-10-14
  • R25-11rel:R25-11#d1d0b4542026-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 deallocate_bytes [SWS_CORE_06550]

void deallocate_bytes (void *p, std::size_t nbytes, std::size_t alignment=alignof(std::max_align_t)) noexcept;

As per corresponding usage in [mem.poly.allocator.class] 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: faf22ebd97f2 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion deallocate_bytes der Klasse ara::core::PolymorphicAllocator dient der Freigabe eines zuvor allokierten Speicherbereichs gemäß [SWS_CORE_06550]. Sie wird über den Header ara/core/memory_resource.h bereitgestellt und orientiert sich grundsätzlich an der Semantik aus [mem.poly.allocator.class].

Der Aufruf erfolgt synchron und erwartet folgende Parameter gemäß [SWS_CORE_06550]:

  • p: Zeiger (void*) auf den freizugebenden Speicherbereich.
  • nbytes: Größe des freizugebenden Speichers in Bytes (std::size_t).
  • alignment: Gewünschtes Alignment (Standardwert alignof(std::max_align_t)).

Hinsichtlich des Fehlerverhaltens weist die Implementierung spezifische Abweichungen zum Standard auf: Die Funktion ist als noexcept deklariert und gilt als ausnahmesicher (exception safe). Schlägt die Freigabe fehl, werden auftretende Fehler stillschweigend ignoriert (silently ignored) laut [SWS_CORE_06550]. Es werden keine Exceptions geworfen und keine Rückgabewerte bereitgestellt.

In Bezug auf Nebenläufigkeit und Einschränkungen ist die Funktion explizit als nicht threadsicher (not thread-safe) spezifiziert [SWS_CORE_06550]. Ein nebenläufiger Zugriff auf dieselbe Allokator-Instanz ohne externe Synchronisation dürfte daher zu undefiniertem Verhalten führen. Frage Q-33c80e3bb50ed64f (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis von Release R25-11 erstellt.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06550
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06550@rel:R25-11#b90edcee
Content hash
b90edcee
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06550
Status: valid/unmigrated Version: rel:R25-11#7305c652 Versionshistorie & Revisions (1 transition, 4 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_06550@rel:R25-11#7305c652
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b90edcee2026-09-30
  • R23-11rel:R23-11#9a13c45b2026-10-14
  • R24-11rel:R24-11#eeb59aac2026-10-14
  • R25-11rel:R25-11#7305c6522026-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 deallocate_object [SWS_CORE_06552]

template <class T> void deallocate_object (T *p, std::size_t n=1) noexcept;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is nullptr 2. If unsuccessful: errors will be silently ignored

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

Die Template-Funktion deallocate_object der Klasse ara::core::PolymorphicAllocator dient der Freigabe von zuvor reserviertem Objektspeicher [SWS_CORE_06552]. Sie orientiert sich an der entsprechenden C++-Standardverwendung gemäß [mem.poly.allocator.class], weist jedoch spezifische Abweichungen auf [SWS_CORE_06552].

Hinsichtlich Parametern und Aufrufkontext gelten folgende Eigenschaften [SWS_CORE_06552]:

  • Signatur: template <class T> void deallocate_object (T *p, std::size_t n=1) noexcept; [SWS_CORE_06552].
  • Header: Die Funktion ist über #include "ara/core/memory_resource.h" verfügbar [SWS_CORE_06552].
  • Rückgabewert: Die Operation liefert keinen Rückgabewert (void) [SWS_CORE_06552].
  • Nullzeiger-Verhalten: Als explizite Abweichung ist spezifiziert, dass die Funktion bei Übergabe von nullptr greift bzw. Nullzeiger unterstützt („Function is nullptr“) [SWS_CORE_06552].

Bezüglich der Fehlerbehandlung ist die Funktion als noexcept deklariert und gilt als ausnahmesicher (exception safe) [SWS_CORE_06552]. Schlägt eine Deallokation fehl, werden auftretende Fehler stillschweigend ignoriert („errors will be silently ignored“), sodass keine Ausnahmen nach außen propagiert werden [SWS_CORE_06552].

Als wesentliche Einschränkung ist deallocate_object als nicht threadsicher (not thread-safe) klassifiziert [SWS_CORE_06552]. Bei parallelen Zugriffen auf dieselbe Allocator-Instanz aus mehreren Threads müssen Aufrufe daher durch externe Synchronisationsmechanismen abgesichert werden.

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06552
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06552@rel:R25-11#97b0add9
Content hash
97b0add9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06552
Status: valid/unmigrated Version: rel:R25-11#8e127a90 Versionshistorie & Revisions (1 transition, 4 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_06552@rel:R25-11#8e127a90
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#97b0add92026-09-30
  • R23-11rel:R23-11#0e144f892026-10-14
  • R24-11rel:R24-11#30aa2ab62026-10-14
  • R25-11rel:R25-11#8e127a902026-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 delete_object [SWS_CORE_06554]

template <class T> void delete_object (T *p) noexcept(std::is_nothrow_destructible< T >::value);

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is conditionally 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: c42857d5d063 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Elementfunktion delete_object der Klasse ara::core::PolymorphicAllocator dient gemäß [SWS_CORE_06554] der Zerstörung und Freigabe eines Objekts vom Typ T, auf das der übergebene Zeiger p verweist. Die Funktion wird über die Header-Datei #include "ara/core/memory_resource.h" bereitgestellt und folgt dem Verhalten aus [mem.poly.allocator.class] mit spezifischen Abweichungen.

Hinsichtlich des Aufrufkontexts und der Semantik gelten folgende Eigenschaften:

  • Rückgabewert und Ausnahmen: Die Funktion besitzt keinen Rückgabewert (void). Sie ist bedingt ausnahmesicher (conditionally noexcept) mit der Spezifikation noexcept(std::is_nothrow_destructible<T>::value), wirft also keine Ausnahmen, sofern der Destruktor von T als nicht-werfend deklariert ist [SWS_CORE_06554].
  • Fehlerbehandlung: Schlägt die Operation fehl, werden aufgetretene Fehler stillschweigend ignoriert (errors will be silently ignored) [SWS_CORE_06554]. Interpretation: Aufrufer erhalten somit im Fehlerfall weder eine Fehlermeldung noch einen Fehlercode oder eine Exception. Frage Q-9393b0f68a055e4b (offen)
  • Thread-Sicherheit: Die Operation ist als nicht threadsicher (not thread-safe) spezifiziert [SWS_CORE_06554]. Bei nebenläufiger Verwendung desselben Allokators über mehrere Threads hinweg obliegt die Synchronisation dem Aufrufer.

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_CORE_06554
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06554@rel:R25-11#052ca749
Content hash
052ca749
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06554
Status: valid/unmigrated Version: rel:R25-11#9b4d40a0 Versionshistorie & Revisions (1 transition, 4 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_06554@rel:R25-11#9b4d40a0
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#052ca7492026-09-30
  • R23-11rel:R23-11#3c9cbc572026-10-14
  • R24-11rel:R24-11#d8a2d49d2026-10-14
  • R25-11rel:R25-11#9b4d40a02026-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 destroy [SWS_CORE_06556]

template <class T> void destroy (T *p) noexcept(std::is_nothrow_destructible< T >::value);

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is conditionally noexcept

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

Verwendung

Die Template-Elementfunktion destroy der Klasse ara::core::PolymorphicAllocator ([SWS_CORE_06556]) dient dem Destruieren eines Objekts vom Typ T, auf das der Zeiger p verweist. Die Funktion ist im Header ara/core/memory_resource.h deklariert und folgt grundsätzlich dem standardisierten Verhalten aus [mem.poly.allocator.class] ([SWS_CORE_06556]). Der Methodenaufruf liefert keinen Rückgabewert und wird synchron im Kontext des aufrufenden Threads ausgeführt. Interpretation: Hierbei dürfte vorausgesetzt werden, dass p auf ein gültiges, zuvor instanziiertes Objekt verweist. Frage Q-a4faf7034eb683dd (offen)

Fehlerbehandlung und Exception-Sicherheit

Bezüglich der Fehlerbehandlung ist die Funktion als bedingt ausnahmesicher (conditionally exception safe) klassifiziert ([SWS_CORE_06556]). Als spezifische Abweichung von der Standardanforderung [mem.poly.allocator.class] ist destroy bedingt mit noexcept(std::is_nothrow_destructible<T>::value) deklariert ([SWS_CORE_06556]). Sofern der Destruktor des übergebenen Typs T keine Ausnahmen wirft, gilt die Ausnahmefreiheit für den gesamten Aufruf; andernfalls können aus dem Destruktor resultierende Exceptions entweichen.

Nebenläufigkeit und Einschränkungen

Hinsichtlich des Nebenläufigkeitsverhaltens ist destroy als nicht threadsicher (not thread-safe) spezifiziert ([SWS_CORE_06556]). Wenn mehrere Threads gleichzeitig auf dieselbe Instanz von ara::core::PolymorphicAllocator oder auf das zu zerstörende Objekt zugreifen, müssen geeignete externe Synchronisationsmechanismen etabliert werden.

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_CORE_06556
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06556@rel:R25-11#b20f3b52
Content hash
b20f3b52
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06556
Status: valid/unmigrated Version: rel:R25-11#abadf693 Versionshistorie & Revisions (1 transition, 4 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_06556@rel:R25-11#abadf693
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b20f3b522026-09-30
  • R23-11rel:R23-11#4cffca7a2026-10-14
  • R24-11rel:R24-11#c0cdac192026-10-14
  • R25-11rel:R25-11#abadf6932026-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 new_object [SWS_CORE_06553]

template <class T, class... CtorArgs> [[nodiscard]] T * new_object (CtorArgs &&... ctor_args) noexcept(std::is_nothrow_constructible< T, CtorArgs... >::value);

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is conditionally noexcept 2. If unsuccessful: nullptr is returned, instead of raising any Exception

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

Die Template-Elementfunktion new_object der Klasse ara::core::PolymorphicAllocator (definiert in #include "ara/core/memory_resource.h") allokiert synchron Speicher und konstruiert ein Objekt des Typs T mit den übergebenen Konstruktorargumenten ctor_args [SWS_CORE_06553].

Die Verwendung unterliegt folgenden Festlegungen und Abweichungen vom Standard [mem.poly.allocator.class] [SWS_CORE_06553]:

  • Aufruf und Rückgabewert: Bei erfolgreicher Objekterzeugung wird ein typisierter Zeiger T* auf die neue Instanz zurückgeliefert. Das Attribut [[nodiscard]] verpflichtet Aufrufer dazu, den Rückgabewert auszuwerten.
  • Fehlerbehandlung: Im Misserfolgsfall wird abweichend von [mem.poly.allocator.class] keine Exception ausgelöst, sondern nullptr zurückgegeben. Der Aufrufer muss den resultierenden Zeiger daher vor dem Zugriff zwingend auf nullptr prüfen.
  • Ausnahmesicherheit: Die Funktion ist als bedingt ausnahmesicher (conditionally exception safe) spezifiziert. Sie ist genau dann noexcept, wenn die Objekterzeugung selbst garantiert keine Ausnahme wirft (noexcept(std::is_nothrow_constructible<T, CtorArgs...>::value)).
  • Nebenläufigkeit: Die Funktion ist als nicht threadsicher (not thread-safe) deklariert. Interpretation: Bei gleichzeitigem Zugriff auf dieselbe Instanz von ara::core::PolymorphicAllocator dürfte der Aufrufer für eine geeignete externe Synchronisation zuständig sein. Frage Q-3d0ecfe34187c91e (offen)

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
T*• If successful: As per corresponding usage in [mem.poly.allocator.class] • 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_06553
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06553@rel:R25-11#d2723bd6
Content hash
d2723bd6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06553
Status: valid/unmigrated Version: rel:R25-11#a6ad2786 Versionshistorie & Revisions (1 transition, 4 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_06553@rel:R25-11#a6ad2786
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#d2723bd62026-09-30
  • R23-11rel:R23-11#914b6df22026-10-14
  • R24-11rel:R24-11#700266922026-10-14
  • R25-11rel:R25-11#a6ad27862026-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_00066] Upstream: RS_AP_00145

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

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

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

Parameter (in)

ParameterBeschreibung
otherother PolymorphicAllocator to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_00066
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00066@rel:R25-11#9ab9307f
Content hash
9ab9307f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00066
Status: valid/unmigrated Version: rel:R25-11#b0c562e4 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_00066@rel:R25-11#b0c562e4
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#9ab9307f2026-09-30
  • R24-11rel:R24-11#49e75ee42026-10-14
  • R25-11rel:R25-11#b0c562e42026-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_06545]

PolymorphicAllocator & operator= (const PolymorphicAllocator &)=delete;

As per corresponding usage in [mem.poly.allocator.class]

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06545
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06545@rel:R25-11#6662d26d
Content hash
6662d26d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06545
Status: valid/unmigrated Version: rel:R25-11#ebba2fe5 Versionshistorie & Revisions (1 transition, 4 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_06545@rel:R25-11#ebba2fe5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#6662d26d2026-09-30
  • R23-11rel:R23-11#19b7dc922026-10-14
  • R24-11rel:R24-11#9e9fa6da2026-10-14
  • R25-11rel:R25-11#ebba2fe52026-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 resource [SWS_CORE_06557]

MemoryResource * resource () const noexcept;

As per corresponding usage in [mem.poly.allocator.class]

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

Die Methode resource ist eine konstante Elementfunktion der Klasse ara::core::PolymorphicAllocator aus der Header-Datei #include "ara/core/memory_resource.h" [SWS_CORE_06557]. Sie dient gemäß der Spezifikationsreferenz auf [mem.poly.allocator.class] dem synchronen Abruf der zugeordneten Speicherressource [SWS_CORE_06557].

Verwendung und Signatur

Die Funktionssignatur lautet MemoryResource * resource () const noexcept; [SWS_CORE_06557]. Der Aufruf erfolgt parameterlos und synchron auf einer Instanz von ara::core::PolymorphicAllocator. Als Rückgabewert liefert die Funktion einen Zeiger vom Typ MemoryResource* [SWS_CORE_06557]. Interpretation: Der zurückgegebene Zeiger dürfte direkt auf die konkrete Speicherressource verweisen, die der Allokator für Speicheroperationen verwendet. Frage Q-392683a38a4e490b (offen)

Fehlerbehandlung und Nebenläufigkeit

  • Ausnahmesicherheit: Die Funktion ist als noexcept deklariert und als exception safe eingestuft [SWS_CORE_06557]. Sie wirft keine Exceptions, und es sind keine spezifischen Fehlercodes definiert.
  • Thread-Sicherheit: Die Spezifikation weist die Methode explizit als thread-safe aus [SWS_CORE_06557]. Durch die Qualifizierung als const ist der nebenläufige Lesezugriff über mehrere Threads hinweg sicher.

Zusammenspiel

Im Modul core stellt resource die Schnittstelle bereit, um die von ara::core::PolymorphicAllocator gekapselte MemoryResource abzufragen und deren Operationen anzusprechen [SWS_CORE_06557].

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06557
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06557@rel:R25-11#03dbf6b1
Content hash
03dbf6b1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06557
Status: valid/unmigrated Version: rel:R25-11#95a9a731 Versionshistorie & Revisions (1 transition, 4 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_06557@rel:R25-11#95a9a731
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#03dbf6b12026-09-30
  • R23-11rel:R23-11#071c0a122026-10-14
  • R24-11rel:R24-11#4d44fc3f2026-10-14
  • R25-11rel:R25-11#95a9a7312026-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 select_on_container_copy_construction [SWS_CORE_06573]

PolymorphicAllocator select_on_container_copy_construction () const noexcept;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. The function is noexcept

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

Verwendung

Die Elementfunktion select_on_container_copy_construction gehört zum Scope der Klasse ara::core::PolymorphicAllocator und wird über die Header-Datei #include "ara/core/memory_resource.h" deklariert ([SWS_CORE_06573]). Sie wird synchron aufgerufen, um bei der Kopierkonstruktion eines Containers eine neue Instanz von PolymorphicAllocator zu erzeugen ([SWS_CORE_06573]). Das funktionale Verhalten folgt dabei der Vorgabe [mem.poly.allocator.class] ([SWS_CORE_06573]). Interpretation: Der resultierende Allokator dürfte standardkonstruiert sein und somit auf die standardmäßige Speicherressource zurückgreifen, anstatt die Speicherressource des Quell-Containers zwingend zu kopieren. Frage Q-134ed967dc22e133 (offen)

Fehlerbehandlung und Exception-Sicherheit

Eine zentrale Abweichung von der allgemeinen C++-Spezifikation besteht darin, dass die Funktion in AUTOSAR explizit als noexcept deklariert ist ([SWS_CORE_06573]). Die Ausführung ist als ausnahmesicher (exception safe) definiert ([SWS_CORE_06573]). Spezifische Fehlercodes, Rückgabewerte zur Fehlerindikation oder Meldungen an DET oder DEM sind für diese Schnittstelle nicht vorgesehen, da der Aufruf fehlerfrei garantiert terminiert.

Nebenläufigkeit und Einschränkungen

Laut Spezifikation ist die Funktion als not thread-safe klassifiziert ([SWS_CORE_06573]). Dies bedeutet, dass gleichzeitige Aufrufe auf derselben PolymorphicAllocator-Instanz aus mehreren Threads ohne externe Synchronisation zu Datenrennen führen können. Vor dem Kopieren eines Containers in nebenläufigen Umgebungen muss der Zugriff auf das Allokator-Objekt durch den Anwender geschützt werden.

Dieser Nutzungshinweis wurde automatisiert anhand der AUTOSAR-Spezifikation für Release R25-11 erstellt.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06573
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06573@rel:R25-11#f78e279c
Content hash
f78e279c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06573
Status: valid/unmigrated Version: rel:R25-11#23e4ce94 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_06573@rel:R25-11#23e4ce94
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f78e279c2026-09-30
  • R24-11rel:R24-11#70871b2b2026-10-14
  • R25-11rel:R25-11#23e4ce942026-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

Dokumentation der Typaliase

type alias value_type [SWS_CORE_06572]

using value_type = Tp;

As per corresponding usage in [mem.poly.allocator.class]

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06572
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06572@rel:R25-11#2bb07c52
Content hash
2bb07c52
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06572
Status: valid/unmigrated Version: rel:R25-11#8c0c50c3 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_06572@rel:R25-11#8c0c50c3
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#2bb07c522026-09-30
  • R24-11rel:R24-11#92a2e3f52026-10-14
  • R25-11rel:R25-11#8c0c50c32026-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