DEENESPTFRRUARHIKOZHNL

classe ara::core::UnsynchronizedPoolResource

[SWS_CORE_00045] Upstream: RS_AP_00130

class UnsynchronizedPoolResource :           public MemoryResource {...};

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

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

Guide utilisateurGÉNÉRÉ PAR IA

Gère des pools liés à la mémoire pour des allocations rapides dans des threads individuels sans exceptions.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 3445f931b524 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Gère des pools liés à la mémoire pour des allocations rapides dans des threads individuels sans exceptions.

La classe implémente une ressource de pool de mémoire non synchronisée sur le modèle de std::pmr::unsynchronized_pool_resource et gère des blocs de mémoire via une ressource amont configurable. Via des pools internes, elle répond efficacement aux demandes de mémoire répétées, la mémoire totale inutilisée pouvant être libérée si nécessaire via l’interface [SWS_CORE_00065]. Étant donné que les chemins d’allocation ne sont pas conçus pour être sûrs pour les threads, une instance ne doit toujours être exploitée qu’au sein d’un seul contexte d’exécution sans accès concurrent [SWS_CORE_00058]. Contrairement au C++ standard, l’allocation ne lève aucune exception en cas de manque de mémoire, mais signale strictement les échecs par le renvoi d’un pointeur nul.

Contexte

La classe ara::core::UnsynchronizedPoolResource fournit dans AUTOSAR Adaptive une implémentation de std::pmr::unsynchronized_pool_resource conforme au standard [mem.res.pool] et dérive de la classe de base MemoryResource. Sa tâche principale consiste à traiter les demandes de mémoire récurrentes via des pools internes de tailles de blocs (chunks) fixes, afin de réduire la fragmentation et les surcoûts de gestion par rapport aux allocations système directes. L’instance obtient les zones de mémoire plus importantes auprès d’une ressource mémoire amont de niveau supérieur, qui est rattachée en tant que MemoryResource* et peut être interrogée via la méthode upstream_resource() [SWS_CORE_00056].

Le comportement des chunks internes et des limites de pool est régi par des paramètres de configuration de type PoolOptions, qui peuvent être consultés via options() [SWS_CORE_00057]. De plus, la méthode redéfinie do_is_equal() permet la comparaison d’égalité à l’exécution avec d’autres ressources mémoire [SWS_CORE_00060]. La classe opère ainsi comme intermédiaire entre le contexte d’exécution demandeur et la ressource amont sous-jacente.

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

Diagramme de contexte : intégration de l’UnsynchronizedPoolResource entre le thread appelant et la ressource mémoire amont. Sources : [SWS_CORE_00056], [SWS_CORE_00057], [SWS_CORE_00060]

Cycle de vie

Plusieurs constructeurs sont disponibles pour créer une instance : un constructeur par défaut sans paramètre [SWS_CORE_00063], des constructeurs avec transmission explicite d’une ressource amont [SWS_CORE_00064], des options de configuration [SWS_CORE_00068] ou les deux combinés [SWS_CORE_00067]. Les opérations de copie sont totalement interdites ; le constructeur de copie [SWS_CORE_00046] tout comme l’opérateur d’assignation par copie [SWS_CORE_00047] sont supprimés (delete). Contrairement au standard ISO-14882, AUTOSAR définit toutefois explicitement une sémantique de déplacement : le constructeur de déplacement [SWS_CORE_00048] et l’opérateur d’assignation par déplacement [SWS_CORE_00049] sont disponibles sous la forme noexcept=default.

Pendant le fonctionnement, toute la mémoire allouée par la ressource amont peut être libérée via l’appel de release() sans détruire l’objet de pool lui-même [SWS_CORE_00065]. La fin de vie est scellée par le destructeur ~UnsynchronizedPoolResource(), qui est déclaré comme noexcept override, mais présente la divergence essentielle AUTOSAR de ne pas être virtuel [SWS_CORE_00062].

En ce qui concerne la concurrence, la classe n’est pas synchronisée : les fonctions protégées d’allocation et de libération do_allocate() [SWS_CORE_00058] et do_deallocate() [SWS_CORE_00059] sont explicitement spécifiées comme non sûres pour les threads. En revanche, les constructeurs, les inspecteurs tels que upstream_resource() [SWS_CORE_00056] et options() [SWS_CORE_00057] ainsi que release() [SWS_CORE_00065] et le destructeur sont classifiés comme sûrs pour les threads.

Parcours d'utilisation

Un chemin d’utilisation typique comprend l’instanciation, les allocations et libérations répétées de mémoire ainsi que le nettoyage final :

  1. Initialisation : l’appelant crée l’instance en indiquant les PoolOptions souhaitées et une ressource amont [SWS_CORE_00067].
  2. Allocation : la mémoire est obtenue via l’interface de classe de base, qui délègue à do_allocate() [SWS_CORE_00058]. Interprétation : si aucun bloc approprié n’est libre dans le pool interne, de la nouvelle mémoire de chunk est demandée à la ressource amont via son interface d’allocation régulière. Question Q-ca9abd7b5da1a39f (ouverte)
  3. Désallocation : les blocs à libérer sont transmis à do_deallocate() et réintégrés dans le pool interne pour les demandes ultérieures [SWS_CORE_00059].
  4. Réinitialisation de la ressource : avant la réutilisation ou avant l’arrêt, release() peut être appelée pour restituer de manière groupée les blocs de mémoire amont [SWS_CORE_00065].
  5. Destruction : l’objet est régulièrement détruit à la fin de sa portée via son type concret [SWS_CORE_00062].
Déroulement typique de l'allocation et de la libération de mémoireAppelantUnsynchronizedPoolResourceUpstream-RessourceUse Case: InitialisierungUnsynchronizedPoolResource(opts, upstream)Use Case: Speichernutzungdo_allocate(bytes, alignment)optPool épuiséallocate(...)SpeicherblockPointeur vers la mémoire (ou nullptr)do_deallocate(p, bytes, alignment)Use Case: Bereinigungrelease()deallocate(...)

Diagramme de séquence : déroulement typique de l’allocation à la désallocation jusqu’à la libération de la mémoire. Sources : [SWS_CORE_00058], [SWS_CORE_00059], [SWS_CORE_00065], [SWS_CORE_00067]

Scénarios d'erreur

AUTOSAR définit pour ara::core::UnsynchronizedPoolResource des écarts spécifiques par rapport au C++ standard, afin de satisfaire aux exigences d’un comportement à l’exécution déterministe sans exceptions :

  • Manque de mémoire lors de l’allocation : si une demande de mémoire échoue dans do_allocate(), aucune exception std::bad_alloc n’est levée. La fonction est déclarée comme noexcept et renvoie à la place strictement nullptr [SWS_CORE_00058]. Les appelants doivent donc systématiquement vérifier les valeurs de retour par rapport à nullptr.
  • Erreur lors de la désallocation : si la libération via do_deallocate() échoue, l’erreur est ignorée en silence (« silently ignored »), sans qu’aucune exception ne soit propagée [SWS_CORE_00059].
  • Destruction polymorphe : le destructeur n’étant explicitement pas virtuel, contrairement à [mem.res.pool] [SWS_CORE_00062], Interprétation : une destruction via un pointeur de la classe de base MemoryResource* devrait entraîner un comportement indéfini. Question Q-68ed70c0b6a907a3 (ouverte) Les instances doivent toujours être détruites via leur type dérivé.
  • Sécurité vis-à-vis des exceptions lors de la création : alors que le constructeur avec options et ressource amont est considéré comme noexcept [SWS_CORE_00067], le constructeur par défaut [SWS_CORE_00063] ainsi que les constructeurs [SWS_CORE_00064] et [SWS_CORE_00068] sont désignés comme non sûrs vis-à-vis des exceptions. Interprétation : le manque de sécurité d’exception de ces constructeurs s’explique probablement par le fait que des pré-allocations depuis la ressource amont peuvent échouer lors de l’initialisation. Question Q-8e2bbf2053947649 (ouverte)

Ce guide repose sur les spécifications AUTOSAR Adaptive de la version R25-11 pour le module core.

Carte des membres

Constructeurs et destructeur

1

Opérateurs

1

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

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

UnsynchronizedPoolResource (UnsynchronizedPoolResource &&other) noexcept=default;

Méthodes

UnsynchronizedPool fonction 13

≙ [mem.res.pool]

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

Opérateurs

operator= fonction

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

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

Documentation des méthodes

fonction UnsynchronizedPool [SWS_CORE_00046]

UnsynchronizedPoolResource (const UnsynchronizedPoolResource &)=delete;

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 : f284e1fe400c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La déclaration du constructeur de copie comme supprimé (=delete) dans ara::core::UnsynchronizedPoolResource selon [SWS_CORE_00046] empêche toute duplication d'une instance de pool. Pour la création d'objets, des constructeurs spécifiques sont disponibles à la place, par exemple sans arguments [SWS_CORE_00063], avec indication d'une ressource mémoire en amont [SWS_CORE_00064], avec PoolOptions [SWS_CORE_00068] ou avec les deux paramètres [SWS_CORE_00067].

Les conditions-cadres suivantes s'appliquent à l'utilisation et au comportement à l'exécution :

  • Appel et traitement des erreurs : une tentative de copie est rejetée comme une erreur dès la compilation par le compilateur. Les erreurs d'allocation lors de l'utilisation ultérieure de la mémoire via do_allocate n'entraînent pas d'exceptions, mais renvoient nullptr [SWS_CORE_00058], tandis que les erreurs de libération dans do_deallocate sont silencieusement ignorées [SWS_CORE_00059].
  • Concurrence : les opérations de mémoire individuelles sur l'instance sont déclarées non sûres pour les threads [SWS_CORE_00058], [SWS_CORE_00059]. Interprétation : la suppression du constructeur de copie devrait assurer la responsabilité exclusive des blocs de mémoire gérés et éviter des états incohérents lors d'une utilisation parallèle ou d'une libération anticipée via release [SWS_CORE_00065]. Question Q-d97dd87dddb2379d (ouverte)
  • Interaction : la restriction correspond à l'opérateur d'assignation [SWS_CORE_00047], également supprimé. Le destructeur de la classe n'est pas virtuel [SWS_CORE_00062], tandis que des vérifications d'identité peuvent être effectuées via do_is_equal [SWS_CORE_00060].

Ce texte a été préparé par une IA ; il ne remplace pas la lecture de la spécification AUTOSAR.

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

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

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

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

fonction UnsynchronizedPool [SWS_CORE_00047]

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

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 : 6b94e396e900 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

L'opérateur d'affectation par copie de ara::core::UnsynchronizedPoolResource est explicitement déclaré comme supprimé (=delete) conformément à [SWS_CORE_00047]. L'affectation d'une instance à une autre est ainsi syntaxiquement exclue et conduit dès la compilation à une erreur de compilation. Conjointement avec le constructeur de copie [SWS_CORE_00046], lui aussi supprimé, cela garantit que les instances de la classe de ressources ne peuvent être ni copiées ni dupliquées par affectation. Interprétation : ceci devrait empêcher que des blocs de mémoire internes et des informations de gestion ne soient référencés plusieurs fois ou désalloués de manière erronée. Question Q-75cee08bebc61976 (ouverte)

Les nouvelles instances sont créées à la place via les constructeurs fournis, par exemple sans paramètre via [SWS_CORE_00063], avec une ressource amont via [SWS_CORE_00064] ou en indiquant PoolOptions via [SWS_CORE_00067] ou [SWS_CORE_00068]. La ressource amont liée peut être interrogée via [SWS_CORE_00056] et les options de configuration via [SWS_CORE_00057]. La mémoire gérée peut être explicitement libérée avec [SWS_CORE_00065] avant que la durée de vie ne prenne fin avec le destructeur non virtuel [SWS_CORE_00062].

Les affectations étant exclues par [SWS_CORE_00047], les instances doivent être transmises par référence ou par pointeur si nécessaire. Il convient de noter ici que les allocations via [SWS_CORE_00058] et les désallocations via [SWS_CORE_00059] sont spécifiées comme non sûres pour les threads. Si une demande de mémoire échoue, aucune exception n'est levée, mais nullptr est renvoyé [SWS_CORE_00058] ; les erreurs lors de la désallocation sont ignorées silencieusement [SWS_CORE_00059].

Cette note d'utilisation a été générée par une IA et ne remplace pas une vérification manuelle.

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

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

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

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

fonction UnsynchronizedPool [SWS_CORE_00056]

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 : 1faa09f94501 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode upstream_resource() de la classe ara::core::UnsynchronizedPoolResource renvoie de manière synchrone un pointeur vers la MemoryResource parente [SWS_CORE_00056]. L'appel est sans paramètre et déclaré comme const. L'inclusion et les déclarations de types s'effectuent via le fichier d'en-tête #include "ara/core/memory_resource.h" [SWS_CORE_00056].

Gestion des erreurs

La fonction est spécifiée comme noexcept ainsi que exception safe [SWS_CORE_00056]. Elle ne lève aucune exception et ne signale ni codes d'erreur spécifiques ni événements DET ou DEM. Si l'initialisation préalable via des constructeurs échoue, ceux-ci ne sont en partie pas sûrs vis-à-vis des exceptions [SWS_CORE_00063], tandis que l'interrogation elle-même reste toujours exempte d'erreurs.

Concurrence et restrictions

La méthode upstream_resource() est explicitement classée comme thread-safe [SWS_CORE_00056]. Cela contraste avec les routines d'allocation internes do_allocate() [SWS_CORE_00058] et do_deallocate() [SWS_CORE_00059], qui sont spécifiées comme not thread-safe. De plus, le constructeur de copie et l'opérateur d'affectation de la classe sont supprimés [SWS_CORE_00046], [SWS_CORE_00047].

Interaction

La méthode interagit étroitement avec les constructeurs de UnsynchronizedPoolResource, auxquels une MemoryResource parente peut éventuellement être transmise [SWS_CORE_00064], [SWS_CORE_00067]. Interprétation : le pointeur renvoyé devrait pointer précisément vers l'instance de MemoryResource définie lors de l'instanciation. Question Q-aefbc7d0f7d085d1 (ouverte) D'autres propriétés de la ressource de pool peuvent être interrogées via options() [SWS_CORE_00057], tandis que la mémoire allouée peut être libérée via release() [SWS_CORE_00065].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification.

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

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

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

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

fonction UnsynchronizedPool [SWS_CORE_00057]

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 : 0e89c24bf535 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre options() de la classe ara::core::UnsynchronizedPoolResource sert à interroger de manière synchrone la configuration du pool de mémoire [SWS_CORE_00057]. La méthode est déclarée dans #include "ara/core/memory_resource.h", n'attend aucun paramètre d'entrée et renvoie une instance du type PoolOptions par valeur [SWS_CORE_00057]. En tant que fonction qualifiée const, elle ne modifie pas l'objet et se comporte conformément à la spécification dans [mem.res.pool] [SWS_CORE_00057].

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

L'interface est définie comme noexcept et garantit une sécurité totale face aux exceptions (exception safe) [SWS_CORE_00057]. Aucune exception n'est levée et il n'existe aucune valeur de retour d'erreur ; la récupération des options réussit toujours sans erreur.

Concurrence et restrictions

Dans la spécification, options() est désignée comme sûre pour les threads (thread-safe) [SWS_CORE_00057]. Cela contraste avec les fonctions d'allocation de la même classe telles que do_allocate [SWS_CORE_00058] et do_deallocate [SWS_CORE_00059], qui ne sont explicitement pas sûres pour les threads. La méthode peut donc être exécutée de manière concurrente pour interroger l'état.

Interaction

Les PoolOptions renvoyées reflètent probablement les paramètres avec lesquels la ressource de pool a été paramétrée via les constructeurs correspondants [SWS_CORE_00067], [SWS_CORE_00068], ou représentent les options par défaut lors de l'utilisation de constructeurs par défaut [SWS_CORE_00063], [SWS_CORE_00064]. Question Q-19fa8ad6e3e6b1c6 (ouverte) En plus de options(), la fonction upstream_resource() est également disponible pour l'inspection [SWS_CORE_00056], tandis que les opérations de copie de la ressource sont empêchées par des opérateurs supprimés [SWS_CORE_00046], [SWS_CORE_00047].

Cette note d'utilisation a été générée automatiquement 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::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

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

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

fonction UnsynchronizedPool [SWS_CORE_00058]

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

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

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

Utilisation

La méthode do_allocate de la classe ara::core::UnsynchronizedPoolResource alloue de la mémoire pour la taille en octets (bytes) et l'alignement (alignment) demandés [SWS_CORE_00058]. Interprétation : la méthode étant spécifiée avec une visibilité protégée (protected), elle ne devrait pas, en fonctionnement normal, être appelée directement par le code applicatif, mais indirectement via l'interface d'allocation de la classe de base. Question Q-5a702813496f8071 (ouverte) La déclaration s'effectue via le fichier d'en-tête #include "ara/core/memory_resource.h" [SWS_CORE_00058].

Gestion des erreurs

À la différence du comportement standard selon [mem.res.pool], la fonction est déclarée comme noexcept et ne lève aucune exception telle que std::bad_alloc [SWS_CORE_00058] lors d'erreurs d'allocation. Au lieu de cela, elle renvoie impérativement nullptr en cas d'échec [SWS_CORE_00058]. Le code appelant doit par conséquent toujours vérifier explicitement si le résultat est un pointeur nul.

Concurrence et restrictions

La fonction est classée comme not thread-safe [SWS_CORE_00058]. Les appels parallèles sur la même instance de UnsynchronizedPoolResource ne sont pas autorisés sans synchronisation externe. Le constructeur de copie et l'opérateur d'assignation de la classe sont supprimés (delete), de sorte que les instances ne peuvent pas être copiées ([SWS_CORE_00046], [SWS_CORE_00047]).

Interaction

Pour la libération de mémoire, il existe le pendant do_deallocate, qui est également conçu comme protégé, noexcept et non sûr pour les threads, et qui ignore silencieusement les erreurs [SWS_CORE_00059]. Le pool utilise en interne la ressource en amont configurée lors de l'instanciation ([SWS_CORE_00056], [SWS_CORE_00064], [SWS_CORE_00067]). Avec release(), la mémoire obtenue à partir du pool peut être libérée de manière groupée [SWS_CORE_00065].

Ce texte a été généré par une IA et repose exclusivement sur les spécifications de la version R25-11.

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

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

Rückgabewert

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

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

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

fonction UnsynchronizedPool [SWS_CORE_00059]

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

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

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

Utilisation

La fonction membre virtuelle do_deallocate est déclarée comme protected dans la portée de ara::core::UnsynchronizedPoolResource (en-tête #include "ara/core/memory_resource.h") [SWS_CORE_00059]. Elle prend en charge la désallocation synchrone d'un bloc de mémoire sur la base des paramètres transmis p (pointeur vers la zone de mémoire), bytes (taille en octets) et alignment (alignement). Interprétation : en tant que méthode protégée, l'appel devrait typiquement s'effectuer indirectement via l'interface publique de la ressource mémoire. Question Q-f4992f515c10ee01 (ouverte)

Gestion des erreurs

Par rapport au comportement standard dans [mem.res.pool], la fonction présente deux divergences spécifiques : elle est déclarée comme noexcept et donc sûre vis-à-vis des exceptions [SWS_CORE_00059]. Si la désallocation échoue, les erreurs sont ignorées silencieusement (errors will be silently ignored) ; il n'existe ni code d'erreur ni message d'erreur distinct.

Concurrence et restrictions

L'opération est explicitement désignée comme non sûre pour les threads (not thread-safe) [SWS_CORE_00059]. Si des zones de mémoire de la même instance de ressource sont libérées depuis plusieurs threads, l'accès doit impérativement être synchronisé de manière externe.

Interaction

La méthode complète do_allocate [SWS_CORE_00058], qui est également spécifiée comme noexcept et non sûre pour les threads et renvoie nullptr en cas d'échec. Afin de libérer entièrement toute la mémoire réservée du pool, la méthode sûre pour les threads release est mise à disposition [SWS_CORE_00065]. Les instances de la classe ne sont pas copiables, car le constructeur de copie [SWS_CORE_00046] et l'opérateur d'assignation [SWS_CORE_00047] sont supprimés.

Cette note d'utilisation a été générée automatiquement 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::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Sichtbarkeitprotected

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

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

fonction UnsynchronizedPool [SWS_CORE_00060]

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 : 73b01a5b5d45 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 de la classe ara::core::UnsynchronizedPoolResource effectue la comparaison d'égalité pour les ressources mémoire conformément à [SWS_CORE_00060]. Elle est fournie via l'en-tête ara/core/memory_resource.h. Comme la méthode possède la visibilité protected, elle est prévue pour un appel interne via la classe de base MemoryResource ([SWS_CORE_00060]). Elle compare de manière synchrone l'instance actuelle avec une référence transmise de type MemoryResource et renvoie une valeur bool ([SWS_CORE_00060]). Conformément à [mem.res.pool], la comparaison devrait vérifier typiquement l'identité des deux ressources (this == &other), car les pools de mémoire agissent de manière isolée. Question Q-679a5e17d2e2903f (ouverte)

La méthode est déclarée comme noexcept et possède la spécification exception safe ([SWS_CORE_00060]). Elle ne lève aucune exception et n'utilise pas de messages d'erreur DET ou DEM.

En ce qui concerne la concurrence, do_is_equal est classée comme thread-safe ([SWS_CORE_00060]). Comme elle fonctionne exclusivement en lecture en tant que fonction membre constante, elle peut être appelée de manière concurrente par plusieurs threads. Cela s'oppose aux opérations d'allocation telles que do_allocate ([SWS_CORE_00058]) et do_deallocate ([SWS_CORE_00059]), qui ne sont explicitement pas sûres au niveau des threads.

Dans l'interaction des ressources mémoire, la classe ne peut être ni copiée ni assignée ([SWS_CORE_00046], [SWS_CORE_00047]). Les instances peuvent être initialisées via des constructeurs tels que [SWS_CORE_00063], [SWS_CORE_00064], [SWS_CORE_00067] ou [SWS_CORE_00068]. Les sources de mémoire de niveau supérieur peuvent être interrogées avec upstream_resource() ([SWS_CORE_00056]), tandis qu'avant la destruction ([SWS_CORE_00062]), la mémoire allouée peut être libérée au moyen de release() ([SWS_CORE_00065]).

Cette note d'utilisation a été générée automatiquement sur la base des exigences de spécification de R25-11.

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

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

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

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

fonction UnsynchronizedPool [SWS_CORE_00062]

~UnsynchronizedPoolResource () noexcept override;

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

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

Le destructeur ~UnsynchronizedPoolResource() ([SWS_CORE_00062]) met fin à la durée de vie d'une instance de la classe de mémoire ara::core::UnsynchronizedPoolResource issue de l'en-tête ara/core/memory_resource.h. L'appel s'effectue de manière synchrone et est déclaré comme noexcept, ce qui rend l'opération sûre vis-à-vis des exceptions ([SWS_CORE_00062]).

La sémantique correspond fondamentalement à l'utilisation du pool dans [mem.res.pool], mais présente une divergence essentielle : le destructeur n'est pas virtuel ([SWS_CORE_00062]). Interprétation : de la non-virtualité du destructeur, il devrait découler que les instances ne doivent pas être libérées de manière polymorphe via un pointeur de classe de base vers MemoryResource. Question Q-5578b2bf008b98c5 (ouverte)

En ce qui concerne le cycle de vie et l'interaction, les conditions suivantes s'appliquent :

Cette note d'utilisation a été générée automatiquement et repose sur les spécifications de la version AUTOSAR R25-11.

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

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

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

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

fonction UnsynchronizedPool [SWS_CORE_00063]

UnsynchronizedPoolResource ();

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 : b1a57ee10029 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le constructeur par défaut sans paramètre [SWS_CORE_00063] initialise une instance de ara::core::UnsynchronizedPoolResource conformément à la sémantique de [mem.res.pool]. Interprétation : des options de pool par défaut et une ressource mémoire amont par défaut devraient alors être utilisées, lesquelles peuvent être interrogées ultérieurement via [SWS_CORE_00057] et [SWS_CORE_00056]. Question Q-d76bae1c251fa516 (ouverte)

En ce qui concerne le cycle de vie et l'utilisation, les conditions-cadres suivantes s'appliquent :

  • Protection contre la copie et surcharge : le constructeur de copie [SWS_CORE_00046] et l'opérateur d'affectation [SWS_CORE_00047] sont supprimés (delete). En plus de l'instanciation sans paramètre, des constructeurs surchargés avec options de pool explicites ou ressources amont sont disponibles ([SWS_CORE_00064], [SWS_CORE_00067], [SWS_CORE_00068]).
  • Gestion des erreurs et sécurité vis-à-vis des exceptions : le constructeur est déclaré comme non sûr vis-à-vis des exceptions (not exception safe) [SWS_CORE_00063]. Lors du fonctionnement ultérieur de la mémoire, les opérations mémoire s'écartent des exceptions standard : en cas d'erreur, do_allocate fournit nullptr au lieu d'une exception [SWS_CORE_00058], tandis que do_deallocate ignore silencieusement les erreurs [SWS_CORE_00059].
  • Concurrence : l'appel du constructeur lui-même est thread-safe [SWS_CORE_00063]. Les opérations ultérieures d'affectation et de libération de l'instance créée (do_allocate, do_deallocate) sont cependant explicitement spécifiées comme non sûres pour les threads (not thread-safe) ([SWS_CORE_00058], [SWS_CORE_00059]).
  • Libération des ressources et destruction : la mémoire allouée peut être libérée via [SWS_CORE_00065]. Le destructeur est noexcept, mais implémenté de manière non virtuelle [SWS_CORE_00062].

Cette note d'utilisation a été générée automatiquement 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::UnsynchronizedPoolResource
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

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

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

fonction UnsynchronizedPool [SWS_CORE_00064]

explicit UnsynchronizedPoolResource (MemoryResource *upstream);

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 : 693f1605fced Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et finalité

Le constructeur explicit UnsynchronizedPoolResource (MemoryResource *upstream) initialise une instance de la classe ara::core::UnsynchronizedPoolResource issue du fichier d'en-tête #include "ara/core/memory_resource.h" conformément à [mem.res.pool] [SWS_CORE_00064]. Le paramètre upstream permet de transmettre la ressource de mémoire parente, qui pourra ultérieurement être interrogée via la méthode upstream_resource() [SWS_CORE_00056]. Un constructeur par défaut sans paramètre [SWS_CORE_00063] ainsi que des surcharges avec PoolOptions sont disponibles comme alternatives [SWS_CORE_00067], [SWS_CORE_00068].

Traitement des erreurs et comportement face aux exceptions

L'instanciation est spécifiée comme not exception safe [SWS_CORE_00064], de sorte que des exceptions peuvent survenir lors de la construction. Des règles différentes s'appliquent aux allocations de mémoire ultérieures : la fonction d'allocation interne do_allocate ne lève aucune exception, mais renvoie nullptr en cas d'échec [SWS_CORE_00058], tandis que les erreurs lors de do_deallocate sont ignorées silencieusement [SWS_CORE_00059].

Concurrence et restrictions

L'appel du constructeur lui-même est considéré comme thread-safe [SWS_CORE_00064]. Les opérations de copie sont empêchées, car le constructeur de copie [SWS_CORE_00046] ainsi que l'opérateur d'assignation [SWS_CORE_00047] sont supprimés. Après la construction, les opérations d'allocation et de désallocation ne sont pas thread-safe [SWS_CORE_00058], [SWS_CORE_00059]. En outre, le destructeur est déclaré non virtuel [SWS_CORE_00062]. La mémoire occupée peut être libérée prématurément via release() [SWS_CORE_00065]. Interprétation : étant donné qu'un pointeur natif upstream est transmis, la ressource en amont référencée devrait devoir rester valide pendant toute la durée de vie de l'instance de pool. Question Q-3e6c23bae834b912 (ouverte)

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

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

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

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

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

fonction UnsynchronizedPool [SWS_CORE_00065]

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 : e7ed99220f1f Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre release() appartient à la portée de la classe ara::core::UnsynchronizedPoolResource et est déclarée via le fichier d'en-tête ara/core/memory_resource.h [SWS_CORE_00065]. La fonction n'a pas de paramètres de transmission ni de valeur de retour (void). Sa sémantique fonctionnelle se conforme à la norme C++ [mem.res.pool] [SWS_CORE_00065] ; la référence devrait signifier que la fonction restitue de manière synchrone toute la mémoire allouée via l'instance de pool à la ressource mémoire en amont (upstream_resource()) [SWS_CORE_00056]. Question Q-e0c7e00cde5d5a34 (ouverte)

Gestion des erreurs

La fonction est définie comme noexcept ainsi que comme exception safe [SWS_CORE_00065]. Elle ne lève aucune exception lors de l'exécution. Comme la spécification ne mentionne aucun code d'erreur spécifique ni message DET/DEM, aucun retour d'erreur explicite via release() n'a lieu en cas d'erreurs de libération de mémoire.

Concurrence et restrictions

Conformément à la spécification, release() est classé comme thread-safe [SWS_CORE_00065]. Cela contraste avec les fonctions internes de gestion de la mémoire de la classe : tant l'allocation au moyen de do_allocate [SWS_CORE_00058] que la désallocation via do_deallocate [SWS_CORE_00059] sont explicitement classées comme not thread-safe.

Interaction

La méthode interagit étroitement avec d'autres propriétés et exigences de UnsynchronizedPoolResource :

  • Ressources mémoire : elle restitue la mémoire à la ressource en amont configurée [SWS_CORE_00056], sans que l'objet de pool lui-même doive être détruit, comme cela se produit avec le destructeur ~UnsynchronizedPoolResource() [SWS_CORE_00062].
  • Configuration : le comportement et les tailles de fragments (chunks) du pool dépendent des options définies lors de l'instanciation [SWS_CORE_00057], [SWS_CORE_00067], [SWS_CORE_00068].
  • Protection contre la copie : une duplication du pool n'est pas autorisée, car le constructeur de copie [SWS_CORE_00046] et l'opérateur d'assignation [SWS_CORE_00047] sont supprimés (delete).

Ce texte repose sur la spécification de la version R25-11 d'AUTOSAR pour le module Core.

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

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

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

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

fonction UnsynchronizedPool [SWS_CORE_00067]

UnsynchronizedPoolResource (const PoolOptions &opts, MemoryResource *upstream) 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 : 9bac3333fca1 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le constructeur [SWS_CORE_00067] initialise une instance de ara::core::UnsynchronizedPoolResource avec des options de pool spécifiques (opts) et une ressource mémoire parente (upstream). L'appel s'effectue de manière synchrone et est spécifié comme noexcept, ce qui rend la création de l'objet sûre vis-à-vis des exceptions. Une copie de l'instance est exclue, car le constructeur de copie [SWS_CORE_00046] tout comme l'opérateur d'affectation [SWS_CORE_00047] sont supprimés (=delete).

Les paramètres enregistrés et les ressources amont peuvent être lus à l'exécution via options() [SWS_CORE_00057] ainsi que upstream_resource() [SWS_CORE_00056]. Un constructeur par défaut [SWS_CORE_00063] ainsi que des surcharges acceptant exclusivement upstream [SWS_CORE_00064] ou opts [SWS_CORE_00068] sont disponibles comme alternatives. La mémoire occupée peut être libérée via release() [SWS_CORE_00065] ou le destructeur [SWS_CORE_00062], ce dernier n'étant pas virtuel, contrairement à la norme.

En ce qui concerne la concurrence, la construction elle-même est déclarée sûre pour les threads [SWS_CORE_00067]. Les fonctions de gestion de mémoire proprement dites de l'instance – do_allocate [SWS_CORE_00058] et do_deallocate [SWS_CORE_00059] – sont en revanche expressément non sûres pour les threads (« not thread-safe ») et nécessitent des mécanismes de protection externes en cas d'accès parallèle. Les erreurs sont ici traitées sans exceptions : les allocations ayant échoué renvoient nullptr [SWS_CORE_00058], tandis que les erreurs de désallocation sont silencieusement ignorées [SWS_CORE_00059]. Interprétation : l'objet upstream transmis doit probablement rester valide pendant tout le cycle de vie du pool. Question Q-2439ec8f9fb8bb3e (ouverte)

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::UnsynchronizedPoolResource
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

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

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

fonction UnsynchronizedPool [SWS_CORE_00068]

explicit UnsynchronizedPoolResource (const PoolOptions &opts);

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 : 379494cd66cf Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le constructeur [SWS_CORE_00068] sert à initialiser de manière synchrone une ara::core::UnsynchronizedPoolResource en spécifiant des paramètres de configuration particuliers via le paramètre opts (type PoolOptions). Le comportement est conforme à la norme [mem.res.pool] issue du fichier d'en-tête ara/core/memory_resource.h. Les paramètres transmis peuvent être consultés après l'instanciation avec options() [SWS_CORE_00057], tandis que le gestionnaire de mémoire en amont est accessible via upstream_resource() [SWS_CORE_00056].

En matière de traitement des erreurs, la fonction est spécifiée comme non sûre vis-à-vis des exceptions (« not exception safe ») [SWS_CORE_00068]. Interprétation : en cas d'échec de la mise à disposition interne des structures de gestion lors de l'instanciation, une exception devrait être levée, ce qui différencie cet appel de la variante noexcept [SWS_CORE_00067]. Question Q-479a016f4e0ddde7 (ouverte) Alors que le constructeur lui-même est classé comme sûr au niveau des threads (« thread-safe ») [SWS_CORE_00068], les opérations de mémoire ultérieures de l'instance résultante, telles que do_allocate [SWS_CORE_00058] et do_deallocate [SWS_CORE_00059], sont expressément non sûres au niveau des threads (« not thread-safe ») ; elles ne doivent par conséquent pas être exécutées de manière concurrente sans protection.

En interaction avec le cycle de vie de la classe, il convient de noter que le constructeur de copie [SWS_CORE_00046] et l'opérateur d'assignation [SWS_CORE_00047] sont supprimés (delete). La mémoire allouée reste dans le pool jusqu'à ce qu'elle soit libérée via release() [SWS_CORE_00065] ou que l'objet soit détruit par l'intermédiaire du destructeur non virtuel [SWS_CORE_00062].

Ce texte a été généré par une IA et sert de guide d'orientation.

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

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

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

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

fonction UnsynchronizedPoolResource [SWS_CORE_00048] Upstream: RS_AP_00130

UnsynchronizedPoolResource (UnsynchronizedPoolResource &&other) noexcept=default;

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

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

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

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

fonction operator= [SWS_CORE_00049] Upstream: RS_AP_00130

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

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

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

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

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