DEENESPTFRRUARHIKOZHNL

classe ara::core::SynchronizedPoolResource

[SWS_CORE_00029] Upstream: RS_AP_00130

class SynchronizedPoolResource :           public MemoryResource {...};

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

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

Guide utilisateurGÉNÉRÉ PAR IA

Fournit une ressource mémoire de pool sûre pour les threads pour l’allocation et la libération efficaces de blocs de mémoire.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8c6c1308f3f6 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Fournit une ressource mémoire de pool sûre pour les threads pour l’allocation et la libération efficaces de blocs de mémoire.

La classe ara::core::SynchronizedPoolResource fournit une ressource mémoire sûre pour les threads, qui gère les allocations via des pools internes et demande de la mémoire supplémentaire auprès d’une ressource amont de niveau supérieur ([SWS_CORE_00030]). Contrairement au standard C++, l’allocation de mémoire ne lève pas d’exception en cas d’échec, mais renvoie à la place nullptr ([SWS_CORE_00061]). Les opérations de copie sont totalement interdites, tandis que les opérations de déplacement sont explicitement prises en charge. De plus, le destructeur n’est pas virtuel, raison pour laquelle les instances ne doivent pas être libérées de manière polymorphe via un pointeur de classe de base.

Contexte

La classe ara::core::SynchronizedPoolResource fournit une ressource mémoire sûre pour les threads pour l’AUTOSAR Adaptive Platform au sein du module core. Elle repose sur le concept de std::pmr::synchronized_pool_resource selon le standard C++ [mem.res.pool] et dérive publiquement de la classe de base MemoryResource. Sa tâche principale consiste à gérer des blocs de mémoire via des pools internes par classes de taille, afin de traiter des allocations récurrentes de façon efficace et concurrente. Si la réserve interne est insuffisante, l’instance obtient des blocs de mémoire plus grands auprès d’une ressource mémoire amont de niveau supérieur ([SWS_CORE_00038]).

Parmi les partenaires d’interaction typiques figurent des threads concurrents d’une application qui demandent des allocations, la SynchronizedPoolResource en tant que gestionnaire de pool intermédiaire, ainsi qu’une MemoryResource sous-jacente en tant que source amont. Toutes les fonctions centrales d’accès et de gestion telles que do_allocate, do_deallocate, options et release sont conçues pour être sûres pour les threads ([SWS_CORE_00061], [SWS_CORE_00041], [SWS_CORE_00039], [SWS_CORE_00037]).

SynchronizedPoolResourceKontext Client Aufrufende Threads Pool ara::core::SynchronizedPoolResource Client->Pool Zuteilung / Freigabe Upstream Upstream MemoryResource Pool->Upstream Chunk-Allokation / release()

Diagramme de contexte : interaction entre threads d’application concurrents, la ressource de pool et la source de mémoire amont. Sources : [SWS_CORE_00030], [SWS_CORE_00038].

Cycle de vie

L’instanciation de SynchronizedPoolResource peut s’effectuer via plusieurs surcharges de constructeur. Si des options d’allocation (PoolOptions) ainsi qu’une ressource amont sont disponibles, l’initialisation garantit une sécurité d’exception complète et est déclarée comme noexcept ([SWS_CORE_00030]). En outre, il existe des constructeurs sans paramètre ([SWS_CORE_00031]), avec un pointeur amont unique ([SWS_CORE_00032]) ou avec de simples options de pool ([SWS_CORE_00033]). Interprétation : si aucun pointeur amont n’est transmis, l’implémentation a probablement recours à une ressource mémoire standard spécifique à la plateforme. Question Q-5dafb414672249dc (ouverte)

Concernant les relations de possession, la classe exclut strictement la copie : le constructeur de copie ([SWS_CORE_00034]) tout comme l’opérateur d’assignation par copie ([SWS_CORE_00036]) sont supprimés (=delete). Contrairement au standard ISO C++17, AUTOSAR définit toutefois explicitement une sémantique de déplacement pour cette classe : un constructeur de déplacement ([SWS_CORE_00043]) et un opérateur d’assignation par déplacement ([SWS_CORE_00044]) sont chacun disponibles sous forme de noexcept=default.

Un aspect central de la destruction réside dans la divergence par rapport au comportement standard : le destructeur ~SynchronizedPoolResource() est explicitement non virtuel ([SWS_CORE_00035]). Interprétation : comme le destructeur n’est pas virtuel, une destruction polymorphe via un pointeur de la classe de base MemoryResource* devrait conduire à un comportement indéfini ; les instances doivent donc toujours être détruites via leur type concret. Question Q-5add73880279b024 (ouverte) L’appel de release() permet en outre de restituer l’intégralité de la mémoire allouée à la ressource amont, tandis que l’objet ressource reste intact ([SWS_CORE_00037]).

Parcours d'utilisation

Le déroulement typique comprend l’initialisation, l’allocation et la libération répétées de blocs de mémoire ainsi que le nettoyage final :

  1. Initialisation : l’application crée l’instance en indiquant des paramètres de configuration et une ressource mémoire de niveau supérieur ([SWS_CORE_00030]). Les paramètres actifs peuvent être interrogés via options() ([SWS_CORE_00039]), le pointeur amont via upstream_resource() ([SWS_CORE_00038]).
  2. Allocation de mémoire : les demandes de mémoire sont traitées de manière protégée via do_allocate ([SWS_CORE_00061]). Interprétation : l’appel dans le code d’application ne s’effectue généralement pas directement via la méthode protégée do_allocate, mais via l’interface publique héritée allocate de la classe de base MemoryResource. Question Q-1542a47cdff73dfb (ouverte)
  3. Contrôle d’identité : do_is_equal permet de déterminer si deux ressources mémoire sont équivalentes entre elles ([SWS_CORE_00042]).
  4. Libération : les zones de mémoire individuelles sont renvoyées au pool via do_deallocate ([SWS_CORE_00041]). Si nécessaire, toute la mémoire de tous les pools peut être restituée de manière groupée à la ressource amont via release() ([SWS_CORE_00037]).
Déroulement d'utilisation de SynchronizedPoolResourceApplicationSynchronizedPoolResourceUpstreamResourceUse Case: InitialisierungSynchronizedPoolResource(opts, &upstream)Use Case: Allokationdo_allocate(bytes, alignment)optPool épuisé / bloc requisSpeicher anfordernSpeicherbereichSpeicherzeiger / nullptrUse Case: Libération et nettoyagedo_deallocate(p, bytes, alignment)release()Restituer la mémoire à l'upstream

Diagramme de séquence : séquence typique d’initialisation, de demande de mémoire, de libération et de nettoyage via des ressources amont. Sources : [SWS_CORE_00030], [SWS_CORE_00061], [SWS_CORE_00041], [SWS_CORE_00037].

Scénarios d'erreur

L’AUTOSAR Adaptive Platform s’écarte délibérément des conventions d’exception du standard C++ pour la gestion des erreurs :

  • Erreur d’allocation : alors qu’ISO C++ prévoit la levée de std::bad_alloc en cas d’épuisement, do_allocate est défini dans AUTOSAR comme noexcept. Si aucun bloc de mémoire approprié ne peut être fourni, la méthode renvoie obligatoirement à la place un pointeur nul (nullptr) ([SWS_CORE_00061]). Les appelants doivent donc vérifier chaque valeur de retour d’allocation par rapport à nullptr.
  • Erreur de désallocation : la méthode do_deallocate est également noexcept. Si une erreur survient lors de la restitution d’un bloc de mémoire, celle-ci est silencieusement ignorée selon la spécification ([SWS_CORE_00041]).
  • Risques de construction : alors que le constructeur avec options et ressource amont est sûr vis-à-vis des exceptions ([SWS_CORE_00030]), les constructeurs sans indication amont ou sans options sont classifiés comme non sûrs vis-à-vis des exceptions (« not exception safe ») ([SWS_CORE_00031], [SWS_CORE_00032], [SWS_CORE_00033]). Interprétation : si la mise à disposition interne des structures de gestion de pool échoue pour ces constructeurs, la création de l’objet peut échouer. Question (ouverte)

Ce guide de classe résume la spécification d’ara::core::SynchronizedPoolResource pour AUTOSAR Adaptive Release R25-11.

Carte des membres

Diagramme de classes

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

G nara__core__SynchronizedPoolResource481 SynchronizedPoolResource + SynchronizedPoolResource() + operator=() + ~SynchronizedPoolResource() + options() + release() + upstream_resource() + do_allocate() + do_deallocate() + do_is_equal() nara__core__MemoryResource130 MemoryResource nara__core__SynchronizedPoolResource481->nara__core__MemoryResource130

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

≙ [mem.res.pool]

Surcharges SynchronizedPoolResource 6
SynchronizedPoolResource (const PoolOptions &opts, MemoryResource *upstream) noexcept; SWS_CORE_00030
SynchronizedPoolResource (); SWS_CORE_00031
explicit SynchronizedPoolResource (MemoryResource *upstream); SWS_CORE_00032
explicit SynchronizedPoolResource (const PoolOptions &opts); SWS_CORE_00033
SynchronizedPoolResource (const SynchronizedPoolResource &)=delete; SWS_CORE_00034
SynchronizedPoolResource (SynchronizedPoolResource &&other) noexcept=default; SWS_CORE_00043

except for the following deviations: 1. The function is not virtual ≙ [mem.res.pool]

~SynchronizedPoolResource () noexcept override;

Méthodes

do_allocate fonction

except for the following deviations: 1. The function is noexcept 2. The function returns nullptr instead of (potentially) throwing a std::bad_alloc exception ≙ std::bad_alloc

void * do_allocate (std::size_t bytes, std::size_t alignment) noexcept override;
do_deallocate fonction

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

void do_deallocate (void *p, std::size_t bytes, std::size_t alignment) noexcept override;
do_is_equal fonction

≙ [mem.res.pool]

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

≙ [mem.res.pool]

PoolOptions options () const noexcept;
release fonction

≙ [mem.res.pool]

void release () noexcept;

≙ [mem.res.pool]

MemoryResource * upstream_resource () const noexcept;

Opérateurs

operator= fonction 2

≙ [mem.res.pool]

Surcharges = 2

Documentation des méthodes

fonction SynchronizedPoolResource [SWS_CORE_00030]

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

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00030
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00030@rel:R25-11#bb721e71
Content hash
bb721e71
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00030
Status: valid/unmigrated Version: rel:R25-11#1501c053 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_00030@rel:R25-11#1501c053
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f8089aa92026-09-30
  • R24-11rel:R24-11#faeb22342026-10-14
  • R25-11rel:R25-11#1501c0532026-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 SynchronizedPoolResource [SWS_CORE_00031]

SynchronizedPoolResource ();

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00031
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00031@rel:R25-11#4f78bb46
Content hash
4f78bb46
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00031
Status: valid/unmigrated Version: rel:R25-11#63c60a5b 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_00031@rel:R25-11#63c60a5b
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#6a93df772026-09-30
  • R24-11rel:R24-11#be6b67802026-10-14
  • R25-11rel:R25-11#63c60a5b2026-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 SynchronizedPoolResource [SWS_CORE_00032]

explicit SynchronizedPoolResource (MemoryResource *upstream);

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00032
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00032@rel:R25-11#26d54810
Content hash
26d54810
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00032
Status: valid/unmigrated Version: rel:R25-11#067110c6 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_00032@rel:R25-11#067110c6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f8e2d78a2026-09-30
  • R24-11rel:R24-11#27e7852a2026-10-14
  • R25-11rel:R25-11#067110c62026-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 SynchronizedPoolResource [SWS_CORE_00033]

explicit SynchronizedPoolResource (const PoolOptions &opts);

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00033
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00033@rel:R25-11#3e8b67be
Content hash
3e8b67be
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00033
Status: valid/unmigrated Version: rel:R25-11#5b044f0f 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_00033@rel:R25-11#5b044f0f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#c83c02272026-09-30
  • R24-11rel:R24-11#7830448d2026-10-14
  • R25-11rel:R25-11#5b044f0f2026-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 SynchronizedPoolResource [SWS_CORE_00034]

SynchronizedPoolResource (const SynchronizedPoolResource &)=delete;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00034
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00034@rel:R25-11#76386eb2
Content hash
76386eb2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00034
Status: valid/unmigrated Version: rel:R25-11#0d5ed9ad 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_00034@rel:R25-11#0d5ed9ad
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e9c9708e2026-09-30
  • R24-11rel:R24-11#599cf30b2026-10-14
  • R25-11rel:R25-11#0d5ed9ad2026-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 SynchronizedPoolResource [SWS_CORE_00043] Upstream: RS_AP_00145

SynchronizedPoolResource (SynchronizedPoolResource &&other) noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00043
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00043@rel:R25-11#b90ca7ca
Content hash
b90ca7ca
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00043
Status: valid/unmigrated Version: rel:R25-11#107ef101 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_00043@rel:R25-11#107ef101
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e85c46f22026-09-30
  • R24-11rel:R24-11#ee10a8d92026-10-14
  • R25-11rel:R25-11#107ef1012026-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 do_allocate [SWS_CORE_00061]

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

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

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

Utilisation et sémantique d'allocation

La fonction membre do_allocate de la classe ara::core::SynchronizedPoolResource issue du fichier d'en-tête #include "ara/core/memory_resource.h" sert à l'allocation de zones de mémoire avec la taille en octets bytes et l'alignement alignment spécifiés [SWS_CORE_00061]. En cas de succès, l'appel synchrone renvoie conformément à [mem.res.pool] un pointeur valide du type void* vers le bloc de mémoire alloué [SWS_CORE_00061].

Traitement des erreurs et déviations

En ce qui concerne le comportement face aux erreurs, l'implémentation dévie explicitement des exigences de [mem.res.pool] : la méthode est déclarée comme noexcept et ne lève aucune exception std::bad_alloc [SWS_CORE_00061]. En cas d'échec de la demande d'allocation, le pointeur renvoyé est au contraire impérativement nullptr [SWS_CORE_00061]. Les appelants doivent par conséquent obligatoirement vérifier si la valeur de retour est un pointeur nul afin d'intercepter de manière fiable les erreurs d'allocation.

Concurrence et interaction

La fonction est spécifiée comme exception safe et, contrairement à d'autres ressources mémoire, comme thread-safe [SWS_CORE_00061]. En raison de sa visibilité protected, elle devrait principalement faire office en pratique de redéfinition interne de l'interface de base purement virtuelle do_allocate issue de ara::core::MemoryResource [SWS_CORE_06566]. Question Q-95ba181693426bfc (ouverte) Tandis que ara::core::SynchronizedPoolResource sécurise l'accès concurrentiel [SWS_CORE_00061], des implémentations comparables comme ara::core::UnsynchronizedPoolResource::do_allocate [SWS_CORE_00058] et ara::core::MonotonicBufferResource::do_allocate [SWS_CORE_06569] sont définies comme not thread-safe.

Ce texte a été généré par un système d'IA sur la base de la spécification AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité I1)

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

Rückgabewert

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00061
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00061@rel:R25-11#70732867
Content hash
70732867
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00061
Status: valid/unmigrated Version: rel:R25-11#7fd00d51 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_00061@rel:R25-11#7fd00d51
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e22e6db22026-09-30
  • R24-11rel:R24-11#2f88c08f2026-10-14
  • R25-11rel:R25-11#7fd00d512026-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 do_deallocate [SWS_CORE_00041]

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

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

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

La fonction membre protégée do_deallocate de la classe ara::core::SynchronizedPoolResource sert à libérer une zone mémoire préalablement allouée conformément à [SWS_CORE_00041]. Son appel s'effectue de manière synchrone et attend comme paramètres un pointeur p vers la zone mémoire, la taille bytes en octets ainsi que l'alignement de mémoire alignment. Étant donné que la fonction membre est déclarée avec la visibilité protected, elle n'est probablement pas appelée directement dans le code d'application normal, mais exécutée via l'interface publique de désallocation de la classe de base supérieure ara::core::MemoryResource ([SWS_CORE_06567]). Question Q-badea921c907c214 (ouverte)

Concernant le traitement des erreurs et le comportement vis-à-vis des exceptions, la spécification définit deux déviations obligatoires par rapport au standard :

  • La fonction est déclarée comme noexcept et est totalement sûre vis-à-vis des exceptions (exception safe) ([SWS_CORE_00041]).
  • Si la désallocation ne devait pas réussir, les erreurs survenues sont ignorées silencieusement ([SWS_CORE_00041]). Il n'y a ni levée d'une exception ni renvoi d'un code d'erreur.

Dans le domaine de la concurrence, l'implémentation dans ara::core::SynchronizedPoolResource se distingue par le fait qu'elle est explicitement spécifiée comme thread-safe (thread-safe) ([SWS_CORE_00041]). Elle est ainsi adaptée à un appel concurrentiel depuis plusieurs threads. En cela, elle se distingue fondamentalement des ressources apparentées ara::core::UnsynchronizedPoolResource ([SWS_CORE_00059]) et ara::core::MonotonicBufferResource ([SWS_CORE_06570]), qui sont classées comme non thread-safe.

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité I1)

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00041
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00041@rel:R25-11#c31fbcea
Content hash
c31fbcea
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00041
Status: valid/unmigrated Version: rel:R25-11#c6457f44 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_00041@rel:R25-11#c6457f44
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#874775232026-09-30
  • R24-11rel:R24-11#0c42970f2026-10-14
  • R25-11rel:R25-11#c6457f442026-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 do_is_equal [SWS_CORE_00042]

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

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

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

La fonction membre protégée do_is_equal vérifie l'égalité d'une instance de ara::core::SynchronizedPoolResource avec une autre ressource mémoire [SWS_CORE_00042]. Elle surcharge la méthode purement virtuelle de la classe de base issue de ara::core::MemoryResource [SWS_CORE_06568] conformément à la spécification des ressources de pool dans [mem.res.pool].

Utilisation et interface : Une référence vers un autre objet ara::core::MemoryResource est transmise en paramètre (const MemoryResource &other). La valeur de retour de type bool indique si les deux ressources sont équivalentes. Interprétation : en raison de la visibilité protected, la fonction n'est pas appelée directement dans le flux applicatif régulier, mais est exécutée via la méthode de comparaison publique de la classe de base. Question Q-29fb2980d1241fae (ouverte)

Traitement des erreurs et sécurité : La méthode est déclarée avec l'identifiant noexcept et spécifiée comme exception safe [SWS_CORE_00042]. Ni exceptions ni codes d'erreur spécifiques ne surviennent. L'exécution est synchrone.

Concurrence : Conformément à [SWS_CORE_00042], do_is_equal est spécifié comme thread-safe, de sorte que des comparaisons simultanées sur plusieurs threads sont autorisées sans synchronisation externe supplémentaire.

Interaction : La fonction constitue le pendant thread-safe de l'implémentation dans ara::core::UnsynchronizedPoolResource [SWS_CORE_00060]. De même, ara::core::MonotonicBufferResource fournit une surcharge correspondante, qui est également désignée comme noexcept [SWS_CORE_06571].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité I1)

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00042
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00042@rel:R25-11#cb2216c1
Content hash
cb2216c1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00042
Status: valid/unmigrated Version: rel:R25-11#6ecf1a68 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_00042@rel:R25-11#6ecf1a68
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#0fcf0b452026-09-30
  • R24-11rel:R24-11#d999b0d62026-10-14
  • R25-11rel:R25-11#6ecf1a682026-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_00036]

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

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00036
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00036@rel:R25-11#21fd45aa
Content hash
21fd45aa
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00036
Status: valid/unmigrated Version: rel:R25-11#71efdb4a 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_00036@rel:R25-11#71efdb4a
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e3bdcb9c2026-09-30
  • R24-11rel:R24-11#fc1cd0a02026-10-14
  • R25-11rel:R25-11#71efdb4a2026-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_00044] Upstream: RS_AP_00145

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

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00044
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00044@rel:R25-11#70fafebd
Content hash
70fafebd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00044
Status: valid/unmigrated Version: rel:R25-11#4a2251b2 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_00044@rel:R25-11#4a2251b2
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#2845c0fb2026-09-30
  • R24-11rel:R24-11#9e9c91662026-10-14
  • R25-11rel:R25-11#4a2251b22026-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 options [SWS_CORE_00039]

PoolOptions options () const noexcept;

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

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

La fonction membre options de la classe ara::core::SynchronizedPoolResource renvoie de manière synchrone les paramètres de type PoolOptions configurés pour la ressource mémoire [SWS_CORE_00039]. L'appel s'effectue sans paramètre sur une instance de la classe et est déclaré via l'en-tête ara/core/memory_resource.h [SWS_CORE_00039]. Selon la spécification, le comportement s'oriente sur [mem.res.pool] [SWS_CORE_00039], ce qui peut être interprété comme une référence aux ressources de pool de la norme C++. Question Q-9abfddc2cf8dc88c (ouverte)

En matière de traitement des erreurs et de sécurité vis-à-vis des exceptions, la méthode est déclarée comme noexcept et considérée comme entièrement sûre vis-à-vis des exceptions (exception safe) [SWS_CORE_00039]. Aucun code d'erreur spécifique ni message à destination de DET ou DEM n'existe pour cette fonction d'interrogation.

Concernant la concurrence, la méthode est spécifiée comme const ainsi qu'expressément comme sûre pour les threads (thread-safe) [SWS_CORE_00039]. Elle peut donc être appelée en parallèle et en toute sécurité à partir de plusieurs threads sans mesure de synchronisation supplémentaire au niveau de l'utilisateur.

Dans le cadre de l'interaction au sein de ara::core, [SWS_CORE_00057] fournit l'équivalent non synchronisé : pour ara::core::UnsynchronizedPoolResource, il existe une fonction options de même nom et de même signature avec une sémantique identique conformément à [mem.res.pool].

Ce texte a été généré par une IA et sert d'aide d'orientation à l'utilisation.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00039
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00039@rel:R25-11#72e9aa2b
Content hash
72e9aa2b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00039
Status: valid/unmigrated Version: rel:R25-11#104880b6 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_00039@rel:R25-11#104880b6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#065c07432026-09-30
  • R24-11rel:R24-11#d92abe712026-10-14
  • R25-11rel:R25-11#104880b62026-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 release [SWS_CORE_00037]

void release () noexcept;

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

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

La fonction membre synchrone release() appartient à la classe ara::core::SynchronizedPoolResource et est fournie via le fichier d'en-tête #include "ara/core/memory_resource.h" [SWS_CORE_00037]. Elle possède la signature void release () noexcept;, ne prend aucun paramètre et n'a aucune valeur de retour. La sémantique fonctionnelle se conforme à l'utilisation correspondante dans [mem.res.pool] [SWS_CORE_00037], libérant ainsi la mémoire gérée par la ressource mémoire.

Concernant le traitement des erreurs, la fonction est déclarée comme sûre face aux exceptions (exception safe) et noexcept [SWS_CORE_00037]. Aucune exception C++ ne se produit ; les codes d'erreur spécifiques ou les rapports d'erreurs via DET ou DEM ne sont pas définis dans le cadre de la spécification.

En ce qui concerne la concurrence, l'opération est explicitement spécifiée comme sûre au niveau des threads (thread-safe) [SWS_CORE_00037]. Un appel simultané depuis plusieurs threads sur la même instance de ressource devrait donc être autorisé sans verrous supplémentaires côté application. Question Q-3da3b45ca2070b3e (ouverte)

En interaction, le comportement de la méthode fonctionnellement identique dans ara::core::UnsynchronizedPoolResource [SWS_CORE_00065], qui référence également [mem.res.pool] et est désignée comme noexcept ainsi que thread-safe, correspond à cela. En revanche, la fonction release() analogue de ara::core::MonotonicBufferResource [SWS_CORE_06530] n'est pas thread-safe (not thread-safe) selon la spécification, bien qu'elle soit également soumise à la garantie noexcept.

Ce texte a été créé par une IA et se base exclusivement sur les données de spécification d'AUTOSAR R25-11.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00037
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00037@rel:R25-11#5bd7bb9b
Content hash
5bd7bb9b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00037
Status: valid/unmigrated Version: rel:R25-11#e7871754 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_00037@rel:R25-11#e7871754
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#adf41cb12026-09-30
  • R24-11rel:R24-11#00875b8f2026-10-14
  • R25-11rel:R25-11#e78717542026-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 upstream_resource [SWS_CORE_00038]

MemoryResource * upstream_resource () const noexcept;

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

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

Utilisation

La fonction membre upstream_resource() de la classe ara::core::SynchronizedPoolResource renvoie un pointeur vers la ressource mémoire sous-jacente en amont (MemoryResource*) conformément à [SWS_CORE_00038]. L'appel s'effectue de manière synchrone et nécessite l'inclusion du fichier d'en-tête #include "ara/core/memory_resource.h" [SWS_CORE_00038]. La fonction ne prend aucun paramètre d'entrée et sert de simple inspecteur pour l'unité supérieure de gestion de la mémoire.

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

La méthode est déclarée comme noexcept et classée conformément à la spécification comme sûre vis-à-vis des exceptions (exception safe) [SWS_CORE_00038]. Un échec de l'interrogation ou le déclenchement d'exceptions est exclu ; il n'existe pas de codes d'erreur pour cet appel.

Concurrence et restrictions

La fonction est spécifiée comme const ainsi qu'explicitement comme sûre pour les threads (thread-safe) [SWS_CORE_00038]. Elle peut ainsi être appelée simultanément depuis plusieurs contextes d'exécution sans synchronisation externe supplémentaire.

Interaction

Le concept d'une ressource mémoire en amont est mis à disposition de façon cohérente à travers différentes implémentations de pools de mémoire d'AUTOSAR Adaptive Core :

  • Dans ara::core::UnsynchronizedPoolResource, la méthode fonctionnellement identique [SWS_CORE_00056] fournit également un pointeur vers la ressource en amont, mais s'adresse à des scénarios de pools non synchronisés de manière interne.
  • Dans ara::core::MonotonicBufferResource, il existe avec [SWS_CORE_06531] un pendant correspondant, qui est également spécifié comme noexcept ainsi que thread-safe.

Cette note d'utilisation a été générée automatiquement à partir du payload AUTOSAR.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00038
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00038@rel:R25-11#8f30a633
Content hash
8f30a633
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00038
Status: valid/unmigrated Version: rel:R25-11#72bf42c6 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_00038@rel:R25-11#72bf42c6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#8f2216bb2026-09-30
  • R24-11rel:R24-11#4fe314762026-10-14
  • R25-11rel:R25-11#72bf42c62026-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 ~SynchronizedPoolResource [SWS_CORE_00035]

~SynchronizedPoolResource () noexcept override;

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00035
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00035@rel:R25-11#11ecaa54
Content hash
11ecaa54
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00035
Status: valid/unmigrated Version: rel:R25-11#ecac8c82 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_00035@rel:R25-11#ecac8c82
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#7dd197ad2026-09-30
  • R24-11rel:R24-11#969d9a0a2026-10-14
  • R25-11rel:R25-11#ecac8c822026-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