DEENESPTFRRUARHIKOZHNL

classe 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

Guide utilisateurGÉNÉRÉ PAR IA

Gère l'allocation de mémoire polymorphique pour les objets et les conteneurs via des ressources mémoire interchangeables.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4f3088ca1f09 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Gère l'allocation de mémoire polymorphique pour les objets et les conteneurs via des ressources mémoire interchangeables.

La classe template encapsule l'allocation dynamique basée sur des ressources mémoire pour les applications et conteneurs adaptatifs en tant qu'implémentation totalement exempte d'exceptions d'allocateurs polymorphiques [SWS_CORE_06541]. Pour piloter le cycle de vie des objets de manière flexible, l'instance délègue toutes les demandes de mémoire à une ressource mémoire interchangeable, les allocations ayant échoué renvoyant de manière déterministe des pointeurs nuls au lieu d'exceptions C++ [SWS_CORE_06547]. En tant que contrainte fonctionnelle essentielle, l'affectation par copie standard est explicitement interdite, tandis que les opérations de libération erronées en cours de fonctionnement sont toujours ignorées silencieusement.

Contexte

La classe template ara::core::PolymorphicAllocator concrétise dans AUTOSAR Adaptive l'interface d'allocation de mémoire polymorphique et avec état selon le modèle standard C++ et définit le type d'élément sous-jacent value_type [SWS_CORE_06572]. Elle fait office d'adaptateur entre les composants appelants – tels que des conteneurs ou des structures d'application – et une ressource mémoire concrète. Via la méthode resource(), le pointeur vers la MemoryResource utilisée peut être interrogé à tout moment [SWS_CORE_06557]. Grâce à cette encapsulation, la demande de mémoire est séparée sémantiquement de l'implémentation concrète de la gestion de la mémoire.

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

Diagramme de contexte : intégration de l'allocateur entre l'appelant et la ressource mémoire. Sources : [SWS_CORE_06557], [SWS_CORE_06572].

Cycle de vie

Les instances de l'allocateur sont construites soit par défaut [SWS_CORE_06541], soit avec un pointeur vers une MemoryResource spécifique [SWS_CORE_06542]. L'allocateur ne faisant que référencer la ressource mémoire, la responsabilité de la durée de vie de cette dernière incombe probablement à l'appelant. Question Q-adde89798a03cf8b (ouverte) Outre le constructeur de copie régulier [SWS_CORE_06543], un constructeur de conversion autorise l'initialisation à partir d'allocateurs pour d'autres types d'éléments U [SWS_CORE_06544].

Concernant les transferts de propriété, l'opérateur d'affectation par copie régulier est supprimé (=delete) [SWS_CORE_06545]. En revanche, AUTOSAR définit explicitement un constructeur de déplacement [SWS_CORE_06546] ainsi qu'un opérateur d'affectation par déplacement standard [SWS_CORE_00066]. Lors des opérations de copie de conteneurs, la méthode select_on_container_copy_construction() génère une instance d'allocateur correspondante [SWS_CORE_06573].

En ce qui concerne la concurrence, les constructeurs par défaut et de conversion ainsi que l'interrogation de la ressource mémoire sont spécifiés comme thread-safe ([SWS_CORE_06541], [SWS_CORE_06542], [SWS_CORE_06544], [SWS_CORE_06557]). En revanche, les opérations de déplacement ([SWS_CORE_06546]), les sélections de copie ([SWS_CORE_06573]) ainsi que toutes les opérations d'allocation, de construction et de désallocation sont déclarées non thread-safe.

Parcours d'utilisation

Le déroulement standard comprend la mise à disposition de mémoire, la construction d'objets ainsi que leur destruction et leur libération ultérieures :

  • Allocation de mémoire : la mémoire brute pour n objets du type Tp est demandée au moyen de allocate() [SWS_CORE_06547]. Alternativement, allocate_bytes() est disponible pour une allocation précise au niveau de l'octet avec alignement [SWS_CORE_06549], de même que le template allocate_object() pour des allocations typées [SWS_CORE_06551].
  • Initialisation des objets : la méthode construct() crée des objets sur la zone de mémoire préalablement allouée [SWS_CORE_06555]. En tant qu'opération combinée, new_object() propose l'allocation et la construction in situ en un seul appel [SWS_CORE_06553].
  • Destruction et libération : la destruction s'effectue via destroy() [SWS_CORE_06556], suivie de la libération via deallocate() [SWS_CORE_06548], deallocate_bytes() [SWS_CORE_06550] ou deallocate_object() [SWS_CORE_06552]. Les deux peuvent être alternativement regroupées avec delete_object() [SWS_CORE_06554].
Déroulement de l'allocation, de la construction, de la destruction et de la libérationAppelantPolymorphicAllocatorMemoryResourceallocate(n)Speicher anfordernSpeicheradresseTp* (ou nullptr)construct(p, args...)Objektkonstruktiondestroy(p)Objektdestruktiondeallocate(p, n)Speicher freigeben

Diagramme de séquence : déroulement typique de l'allocation, de la construction, de la destruction et de la libération. Sources : [SWS_CORE_06547], [SWS_CORE_06548], [SWS_CORE_06555], [SWS_CORE_06556].

Scénarios d'erreur

La classe diffère de la norme ISO C++ par des mécanismes essentiels de traitement d'erreurs afin de satisfaire à des exigences strictes relatives aux systèmes sans exception :

  • Absence d'exceptions lors de l'allocation : toutes les méthodes d'allocation (allocate() [SWS_CORE_06547], allocate_bytes() [SWS_CORE_06549] et allocate_object() [SWS_CORE_06551]) sont noexcept. Si une réservation de mémoire échoue, un nullptr est renvoyé à la place d'une exception. L'appelant devrait obligatoirement valider le pointeur avant toute utilisation ultérieure. Question Q-a12cbeeba5edd1d0 (ouverte)
  • Sûreté conditionnelle face aux exceptions : les routines de construction et de destruction (construct() [SWS_CORE_06555], destroy() [SWS_CORE_06556], new_object() [SWS_CORE_06553] et delete_object() [SWS_CORE_06554]) sont conditionnellement noexcept, selon std::is_nothrow_constructible ou std::is_nothrow_destructible des types concernés. En cas d'échec de new_object(), nullptr est également renvoyé [SWS_CORE_06553].
  • Suppression des erreurs lors de la désallocation : si des opérations de libération échouent, les erreurs survenues dans deallocate() [SWS_CORE_06548], deallocate_bytes() [SWS_CORE_06550], deallocate_object() [SWS_CORE_06552] et delete_object() [SWS_CORE_06554] sont sans exception silencieusement ignorées.

Ce guide se base sur la spécification de ara::core::PolymorphicAllocator issue d'AUTOSAR R25-11 et a été créé de manière automatisée.

Carte des membres

Diagramme de classes

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()

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

≙ [mem.poly.allocator.class]

Surcharges 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

Méthodes

allocate fonction

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 fonction

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 fonction

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 fonction

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 fonction

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 fonction

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 fonction

≙ [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;

Opérateurs

operator= fonction 2

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

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

Alias de type

value_type alias de type

≙ [mem.poly.allocator.class]

using value_type = Tp;

Documentation des méthodes

fonction 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#db935e54
Content hash
db935e54
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

fonction 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#1aba8756
Content hash
1aba8756
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

fonction 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#b4acefb2
Content hash
b4acefb2
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

fonction 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#64e15836
Content hash
64e15836
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

fonction 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#a9cbbf5c
Content hash
a9cbbf5c
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e24ff27c5b25 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre allocate de la classe ara::core::PolymorphicAllocator sert à demander de manière synchrone de la mémoire non initialisée pour n objets du type Tp [SWS_CORE_06547]. Elle s'inspire de la fonctionnalité de [mem.poly.allocator.class], mais s'écarte délibérément du standard C++ par sa déclaration comme noexcept et l'attribut [[nodiscard]] [SWS_CORE_06547].

En cas d'erreur, allocate ne lève pas d'exception comme std::bad_alloc, mais renvoie à la place un nullptr [SWS_CORE_06547]. En raison de [[nodiscard]], l'appelant doit explicitement récupérer la valeur de retour et vérifier la présence de nullptr avant d'utiliser la zone mémoire [SWS_CORE_06547]. Concernant la concurrence, la fonction est classée comme Exception-Safe, mais n'est pas considérée comme thread-safe (not thread-safe) [SWS_CORE_06547]. Interprétation : un appel synchrone via le même allocateur depuis différents threads devrait donc nécessiter une sécurisation externe par l'appelant. Question Q-b00116faadf930fe (ouverte)

Le comportement tolérant aux pannes sans exceptions correspond directement à l'interface ara::core::MemoryResource::allocate [SWS_CORE_06503], qui est également définie comme noexcept et renvoie nullptr en cas d'erreur. Les instances prédéfinies comme NullMemoryResource [SWS_CORE_06563] utilisent également ce principe et renvoient systématiquement nullptr lors des appels d'allocation. À un niveau supérieur, ce mécanisme interagit avec des conteneurs comme ara::core::Vector [SWS_CORE_01315], dont les opérateurs d'affectation sont adaptés à de telles propriétés d'allocation.

Ce texte a été généré automatiquement. La spécification AUTOSAR fait foi.

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#47e535a0
Content hash
47e535a0
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ed713f104c1d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre allocate_bytes de la classe ara::core::PolymorphicAllocator réserve de la mémoire brute d'un volume de nbytes avec l'alignement alignment spécifié [SWS_CORE_06549]. La valeur par défaut pour l'alignement correspond à alignof(std::max_align_t) [SWS_CORE_06549]. La fonction est incluse via l'en-tête ara/core/memory_resource.h et exécutée de manière synchrone [SWS_CORE_06549].

Traitement des erreurs et sémantique

À la différence du comportement standard selon [mem.poly.allocator.class], l'implémentation présente deux écarts [SWS_CORE_06549] :

  • La fonction est déclarée comme noexcept et ne lève aucune exception [SWS_CORE_06549].
  • Si l'allocation échoue, la fonction retourne nullptr au lieu de lever une exception [SWS_CORE_06549].

En raison de l'attribut [[nodiscard]], la valeur de retour doit être évaluée par l'appelant, en particulier au moyen d'une vérification de nullptr avant d'accéder à la zone mémoire [SWS_CORE_06549].

Concurrence et restrictions

En matière de sécurité des threads, la méthode est spécifiée comme not thread-safe [SWS_CORE_06549]. Les appels concurrents sur la même instance nécessitent donc vraisemblablement une synchronisation externe [SWS_CORE_06549]. Question Q-85c74d55563cae38 (ouverte) Concernant la sécurité vis-à-vis des exceptions, l'opération est considérée comme exception safe [SWS_CORE_06549].

Ce texte a été rédigé par une IA sur la base de la spécification.

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#84607a2f
Content hash
84607a2f
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c04a4d5d02ff Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre modèle allocate_object fait partie de la classe ara::core::PolymorphicAllocator et est fournie via le fichier d'en-tête #include "ara/core/memory_resource.h" [SWS_CORE_06551]. Elle alloue de manière synchrone de la mémoire pour n objets du type T, le paramètre n ayant par défaut la valeur 1 [SWS_CORE_06551]. L'attribut de compilateur [[nodiscard]] contraint les appelants à ne pas ignorer le pointeur typé T* retourné.

Gestion des erreurs

La spécification définit deux divergences explicites par rapport au standard [mem.poly.allocator.class] [SWS_CORE_06551] :

  • Aucune exception : la fonction est déclarée comme noexcept et spécifiée comme sûre vis-à-vis des exceptions (exception safe) [SWS_CORE_06551].
  • Pointeur nul en cas d'erreur : si l'allocation mémoire échoue, aucune exception n'est levée, mais nullptr est impérativement retourné [SWS_CORE_06551].

L'appelant doit donc vérifier si le pointeur fourni est égal à nullptr immédiatement avant toute réutilisation.

Concurrence et restrictions

L'opération est spécifiée comme non sûre pour les threads (not thread-safe) [SWS_CORE_06551]. En cas d'utilisation concurrente de la même instance d'allocateur, une synchronisation externe devrait être requise pour éviter les courses aux données. De plus, la fonction réserve de la mémoire brute (interprétation : la construction d'objets dans la mémoire réservée incombe aux mécanismes situés en aval). Question Q-c41df2caaeb4c503 (ouverte)

Ce texte a été généré par une IA et s'appuie sur la spécification d'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#3d3be69c
Content hash
3d3be69c
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b824902bd6dd Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction modèle construct de la classe ara::core::PolymorphicAllocator ([SWS_CORE_06555]) sert à la création synchrone d'un objet du type T à l'adresse mémoire transmise p en transmettant les arguments args.... Elle est définie via l'en-tête ara/core/memory_resource.h et suit pour l'essentiel les exigences issues de [mem.poly.allocator.class].

Une divergence explicite par rapport au standard C++ concerne la gestion des exceptions : selon [SWS_CORE_06555], la fonction est déclarée conditionnellement comme noexcept, selon que std::is_nothrow_constructible<T, Args...>::value s'applique ou non. La spécification lui attribue ainsi la qualification de conditionally exception safe. Interprétation : dans la mesure où T ne peut pas être construit sans exception, d'éventuelles exceptions du constructeur devraient être propagées sans entrave à l'appelant, car aucun code d'erreur interne ni mécanisme de capture particulier n'est défini. Question Q-ad77510f396e59ae (ouverte)

En ce qui concerne la concurrence et les conditions aux limites, construct est spécifiée comme non sûre pour les threads (not thread-safe) ([SWS_CORE_06555]). Lors d'accès parallèles à la même instance d'Allocator ou à la même zone mémoire, une synchronisation externe dans le contexte d'appel est donc impérativement requise.

Le patron d'architecture d'une déclaration noexcept dépendant du type correspond aux conventions énoncées dans ara::core, telles qu'elles sont entre autres également appliquées aux constructeurs de ara::core::Result ([SWS_CORE_00725], [SWS_CORE_00726]).

Cette note d'utilisation a été générée automatiquement et s'appuie exclusivement sur la spécification d'AUTOSAR Adaptive version 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#c7fe9666
Content hash
c7fe9666
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2c2725501203 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre deallocate de la classe ara::core::PolymorphicAllocator libère la mémoire précédemment allouée pour n objets du type Tp à partir de l'adresse p [SWS_CORE_06548]. La déclaration s'effectue via l'en-tête ara/core/memory_resource.h [SWS_CORE_06548]. La fonction suit fondamentalement la sémantique de l'allocateur C++ standard selon [mem.poly.allocator.class], mais présente deux divergences spécifiques [SWS_CORE_06548].

Gestion des erreurs et sécurité vis-à-vis des exceptions

Comme divergence essentielle, l'opération est déclarée comme noexcept et spécifiée comme sûre vis-à-vis des exceptions (exception safe) [SWS_CORE_06548]. Si la libération de la mémoire échoue, les erreurs survenues sont silencieusement ignorées (silently ignored), de sorte qu'aucune exception n'est levée ni aucun code d'erreur explicite n'est renvoyé [SWS_CORE_06548].

Concurrence et interaction

Concernant le contexte d'appel, deallocate est classée comme non thread-safe (not thread-safe) [SWS_CORE_06548]. Dans le concept de gestion de la mémoire, cette fonction correspond à la méthode deallocate de la classe de base sous-jacente ara::core::MemoryResource [SWS_CORE_06504], pour laquelle s'appliquent les mêmes divergences relatives à noexcept et au traitement silencieux des erreurs.

Cette note d'utilisation a été générée automatiquement et repose exclusivement sur les exigences de spécification d'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#2f0c2995
Content hash
2f0c2995
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : faf22ebd97f2 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction deallocate_bytes de la classe ara::core::PolymorphicAllocator sert à libérer une zone mémoire préalablement allouée conformément à [SWS_CORE_06550]. Elle est fournie via l'en-tête ara/core/memory_resource.h et s'appuie fondamentalement sur la sémantique issue de [mem.poly.allocator.class].

L'appel s'effectue de manière synchrone et attend les paramètres suivants conformément à [SWS_CORE_06550] :

  • p : Pointeur (void*) vers la zone mémoire à libérer.
  • nbytes : Taille de la mémoire à libérer en octets (std::size_t).
  • alignment : Alignement souhaité (valeur par défaut alignof(std::max_align_t)).

En ce qui concerne le comportement face aux erreurs, l'implémentation présente des divergences spécifiques par rapport au standard : la fonction est déclarée comme noexcept et est considérée comme sûre vis-à-vis des exceptions (exception safe). Si la libération échoue, les erreurs survenues sont ignorées silencieusement (silently ignored) selon [SWS_CORE_06550]. Aucune exception n'est levée et aucune valeur de retour n'est fournie.

En ce qui concerne la concurrence et les restrictions, la fonction est explicitement spécifiée comme non sûre pour les threads (not thread-safe) [SWS_CORE_06550]. Un accès concurrent à la même instance d'allocateur sans synchronisation externe devrait donc conduire à un comportement indéfini. Question Q-33c80e3bb50ed64f (ouverte)

Cette note d'utilisation a été générée automatiquement sur la base de la version 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_06550
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06550@rel:R25-11#79b522fe
Content hash
79b522fe
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d1e41bdb2142 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction modèle deallocate_object de la classe ara::core::PolymorphicAllocator sert à libérer la mémoire d'objets préalablement réservée [SWS_CORE_06552]. Elle s'inspire de l'usage standard C++ correspondant conformément à [mem.poly.allocator.class], mais présente des divergences spécifiques [SWS_CORE_06552].

En ce qui concerne les paramètres et le contexte d'appel, les propriétés suivantes s'appliquent [SWS_CORE_06552] :

  • Signature : template <class T> void deallocate_object (T *p, std::size_t n=1) noexcept; [SWS_CORE_06552].
  • En-tête : la fonction est disponible via #include "ara/core/memory_resource.h" [SWS_CORE_06552].
  • Valeur de retour : l'opération ne fournit aucune valeur de retour (void) [SWS_CORE_06552].
  • Comportement vis-à-vis du pointeur nul : il est spécifié en tant que divergence explicite que la fonction s'applique lors du passage de nullptr ou prend en charge les pointeurs nuls (« Function is nullptr ») [SWS_CORE_06552].

Concernant le traitement des erreurs, la fonction est déclarée comme noexcept et est considérée comme sûre vis-à-vis des exceptions (exception safe) [SWS_CORE_06552]. Si une désallocation échoue, les erreurs survenues sont ignorées silencieusement (« errors will be silently ignored »), de sorte qu'aucune exception n'est propagée vers l'extérieur [SWS_CORE_06552].

En tant que restriction majeure, deallocate_object est classée comme non sûre pour les threads (not thread-safe) [SWS_CORE_06552]. Lors d'accès simultanés à la même instance d'Allocator depuis plusieurs threads, les appels doivent donc être sécurisés par des mécanismes de synchronisation externes.

Ce texte a été généré par une IA et repose exclusivement sur les spécifications de la version 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#0f657849
Content hash
0f657849
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c42857d5d063 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre delete_object de la classe ara::core::PolymorphicAllocator sert, conformément à [SWS_CORE_06554], à détruire et libérer un objet de type T référencé par le pointeur p transmis. La fonction est fournie via le fichier d'en-tête #include "ara/core/memory_resource.h" et suit le comportement de [mem.poly.allocator.class] avec des divergences spécifiques.

En ce qui concerne le contexte d'appel et la sémantique, les propriétés suivantes s'appliquent :

  • Valeur de retour et exceptions : la fonction ne possède aucune valeur de retour (void). Elle est conditionnellement sûre vis-à-vis des exceptions (conditionally noexcept) avec la spécification noexcept(std::is_nothrow_destructible<T>::value), et ne lève donc aucune exception dans la mesure où le destructeur de T est déclaré comme ne levant pas d'exception [SWS_CORE_06554].
  • Traitement des erreurs : si l'opération échoue, les erreurs survenues sont ignorées silencieusement (errors will be silently ignored) [SWS_CORE_06554]. Interprétation : les appelants ne reçoivent ainsi en cas d'erreur aucun message d'erreur, ni code d'erreur, ni exception. Question Q-9393b0f68a055e4b (ouverte)
  • Sécurité des threads : l'opération est spécifiée comme non sûre pour les threads (not thread-safe) [SWS_CORE_06554]. En cas d'utilisation concurrente du même allocateur à travers plusieurs threads, la synchronisation incombe à l'appelant.

Ce texte a été généré par une IA sur la base de la spécification 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_06554
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06554@rel:R25-11#d75a4353
Content hash
d75a4353
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d8b5334c8292 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre modèle destroy de la classe ara::core::PolymorphicAllocator ([SWS_CORE_06556]) sert à détruire un objet du type T référencé par le pointeur p. La fonction est déclarée dans l'en-tête ara/core/memory_resource.h et suit fondamentalement le comportement standardisé issu de [mem.poly.allocator.class] ([SWS_CORE_06556]). L'appel de méthode ne fournit aucune valeur de retour et est exécuté de manière synchrone dans le contexte du thread appelant. Interprétation : il devrait être supposé ici que p pointe vers un objet valide, préalablement instancié. Question Q-a4faf7034eb683dd (ouverte)

Gestion des erreurs et sécurité vis-à-vis des exceptions

Concernant le traitement des erreurs, la fonction est classée comme conditionnellement sûre vis-à-vis des exceptions (conditionally exception safe) ([SWS_CORE_06556]). En tant que divergence spécifique par rapport à l'exigence standard [mem.poly.allocator.class], destroy est déclarée conditionnellement avec noexcept(std::is_nothrow_destructible<T>::value) ([SWS_CORE_06556]). Dans la mesure où le destructeur du type transmis T ne lève aucune exception, l'absence d'exception s'applique à l'ensemble de l'appel ; dans le cas contraire, les exceptions résultant du destructeur peuvent s'échapper.

Concurrence et restrictions

En ce qui concerne le comportement en matière de concurrence, destroy est spécifiée comme non sûre pour les threads (not thread-safe) ([SWS_CORE_06556]). Si plusieurs threads accèdent simultanément à la même instance de ara::core::PolymorphicAllocator ou à l'objet à détruire, des mécanismes de synchronisation externes appropriés doivent être mis en place.

Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR Adaptive version 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_06556
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06556@rel:R25-11#55968499
Content hash
55968499
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d4720bb5fd75 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre modèle new_object de la classe ara::core::PolymorphicAllocator (définie dans #include "ara/core/memory_resource.h") alloue de la mémoire de manière synchrone et construit un objet du type T avec les arguments de constructeur ctor_args transmis [SWS_CORE_06553].

L'utilisation est soumise aux dispositions et divergences suivantes par rapport au standard [mem.poly.allocator.class] [SWS_CORE_06553] :

  • Appel et valeur de retour : en cas de création réussie de l'objet, un pointeur typé T* vers la nouvelle instance est retourné. L'attribut [[nodiscard]] oblige les appelants à évaluer la valeur de retour.
  • Traitement des erreurs : en cas d'échec, contrairement à [mem.poly.allocator.class], aucune exception n'est levée, mais nullptr est retourné. L'appelant doit donc impérativement vérifier le pointeur résultant par rapport à nullptr avant tout accès.
  • Sécurité vis-à-vis des exceptions : la fonction est spécifiée comme conditionnellement sûre vis-à-vis des exceptions (conditionally exception safe). Elle est noexcept si et seulement si la création de l'objet elle-même garantit qu'aucune exception n'est levée (noexcept(std::is_nothrow_constructible<T, CtorArgs...>::value)).
  • Concurrence : la fonction est déclarée comme non sûre pour les threads (not thread-safe). Interprétation : en cas d'accès simultané à la même instance de ara::core::PolymorphicAllocator, l'appelant devrait être responsable d'une synchronisation externe appropriée. Question Q-3d0ecfe34187c91e (ouverte)

Cette note d’utilisation a été générée de manière automatisée sur la base d’AUTOSAR R25-11.

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#108b8e58
Content hash
108b8e58
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

fonction 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#812c7b2b
Content hash
812c7b2b
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

fonction 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#cceef1d9
Content hash
cceef1d9
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

fonction resource [SWS_CORE_06557]

MemoryResource * resource () const noexcept;

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 90f4d7f53a57 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode resource est une fonction membre constante de la classe ara::core::PolymorphicAllocator issue du fichier d'en-tête #include "ara/core/memory_resource.h" [SWS_CORE_06557]. Conformément à la référence de spécification vers [mem.poly.allocator.class], elle sert à récupérer de manière synchrone la ressource mémoire associée [SWS_CORE_06557].

Utilisation et signature

La signature de la fonction est MemoryResource * resource () const noexcept; [SWS_CORE_06557]. L'appel s'effectue sans paramètre et de manière synchrone sur une instance de ara::core::PolymorphicAllocator. En tant que valeur de retour, la fonction fournit un pointeur de type MemoryResource* [SWS_CORE_06557]. Interprétation : le pointeur retourné devrait pointer directement vers la ressource mémoire concrète que l'allocateur utilise pour les opérations mémoire. Question Q-392683a38a4e490b (ouverte)

Gestion des erreurs et concurrence

  • Sécurité vis-à-vis des exceptions : la fonction est déclarée comme noexcept et classée comme exception safe [SWS_CORE_06557]. Elle ne lève aucune exception et aucun code d'erreur spécifique n'est défini.
  • Sécurité des threads : la spécification désigne explicitement la méthode comme thread-safe [SWS_CORE_06557]. Grâce à la qualification comme const, l'accès en lecture concurrent à travers plusieurs threads est sûr.

Interaction

Dans le module core, resource fournit l'interface permettant d'interroger la MemoryResource encapsulée par ara::core::PolymorphicAllocator et de faire appel à ses opérations [SWS_CORE_06557].

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.

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#b63ec4f9
Content hash
b63ec4f9
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

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c103d893236c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre select_on_container_copy_construction appartient à la portée de la classe ara::core::PolymorphicAllocator et est déclarée via le fichier d'en-tête #include "ara/core/memory_resource.h" ([SWS_CORE_06573]). Elle est appelée de manière synchrone afin de créer une nouvelle instance de PolymorphicAllocator lors de la construction par copie d'un conteneur ([SWS_CORE_06573]). Le comportement fonctionnel suit ici l'exigence [mem.poly.allocator.class] ([SWS_CORE_06573]). Interprétation : l'allocateur résultant devrait être construit par défaut et faire ainsi appel à la ressource mémoire par défaut, au lieu de copier obligatoirement la ressource mémoire du conteneur source. Question Q-134ed967dc22e133 (ouverte)

Gestion des erreurs et sécurité vis-à-vis des exceptions

Une divergence centrale par rapport à la spécification C++ générale réside dans le fait que la fonction est explicitement déclarée comme noexcept dans AUTOSAR ([SWS_CORE_06573]). L'exécution est définie comme sûre vis-à-vis des exceptions (exception safe) ([SWS_CORE_06573]). Aucun code d'erreur spécifique, aucune valeur de retour pour l'indication d'erreur ni aucune notification envoyée à DET ou DEM ne sont prévus pour cette interface, étant donné que l'appel termine avec la garantie d'être sans erreur.

Concurrence et restrictions

Selon la spécification, la fonction est classée comme not thread-safe ([SWS_CORE_06573]). Cela signifie que des appels simultanés sur la même instance PolymorphicAllocator depuis plusieurs threads sans synchronisation externe peuvent conduire à des courses aux données (data races). Avant de copier un conteneur dans des environnements concurrents, l'accès à l'objet allocateur doit être protégé par l'utilisateur.

Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR pour la version 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_06573
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06573@rel:R25-11#5ad50a32
Content hash
5ad50a32
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

Documentation des alias de type

alias de type 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#fe4cec3a
Content hash
fe4cec3a
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