DEENESPTFRRUARHIKOZHNL

class ara::core::UnsynchronizedPoolResource

[SWS_CORE_00045] Upstream: RS_AP_00130

class UnsynchronizedPoolResource :           public MemoryResource {...};

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

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

User GuideAI-GENERATED

Manages memory-backed pools for fast allocations in single threads without exceptions.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 3445f931b524 Provenance Open questions (3)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Manages memory-backed pools for fast allocations in single threads without exceptions.

The class implements an unsynchronized memory pool resource modeled on std::pmr::unsynchronized_pool_resource and manages memory blocks via a configurable upstream resource. It efficiently serves repeated memory requests via internal pools, where unused total memory can be released via the interface if required [SWS_CORE_00065]. Because the allocation paths are not designed to be thread-safe, an instance may only ever be operated within a single execution context without concurrent access [SWS_CORE_00058]. In contrast to standard C++, allocation does not throw exceptions in the event of memory exhaustion, but strictly signals failures by returning a null pointer.

Context

In AUTOSAR Adaptive, the class ara::core::UnsynchronizedPoolResource provides an implementation of std::pmr::unsynchronized_pool_resource according to standard [mem.res.pool] and derives from the base class MemoryResource. Its core task is to process recurring memory requests via internal pools of fixed chunk sizes in order to reduce fragmentation and management overhead compared to direct system allocations. The instance obtains larger memory areas from a higher-level upstream memory resource that is attached as MemoryResource* and can be queried via the method upstream_resource() [SWS_CORE_00056].

The behavior of the internal chunks and pool boundaries is controlled by configuration parameters of type PoolOptions, which can be viewed via options() [SWS_CORE_00057]. In addition, the overridden method do_is_equal() allows a runtime comparison with other memory resources for equality [SWS_CORE_00060]. The class thus operates as an intermediary between the requesting execution context and the underlying upstream resource.

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

Context diagram: Embedding of UnsynchronizedPoolResource between calling thread and upstream memory resource. Sources: [SWS_CORE_00056], [SWS_CORE_00057], [SWS_CORE_00060]

Lifecycle

Several constructors are available for creating an instance: a parameterless default constructor [SWS_CORE_00063], constructors with explicit passing of an upstream resource [SWS_CORE_00064], configuration options [SWS_CORE_00068], or both combined [SWS_CORE_00067]. Copy operations are completely prevented; both the copy constructor [SWS_CORE_00046] and the copy assignment operator [SWS_CORE_00047] are deleted (delete). In contrast to the ISO 14882 standard, however, AUTOSAR explicitly defines move semantics: move constructor [SWS_CORE_00048] and move assignment operator [SWS_CORE_00049] are available as noexcept=default.

During operation, all memory allocated by the upstream resource can be released via the call to release() without destroying the pool object itself [SWS_CORE_00065]. End of life is sealed by the destructor ~UnsynchronizedPoolResource(), which is declared as noexcept override, but exhibits the significant AUTOSAR deviation of being non-virtual [SWS_CORE_00062].

With regard to concurrency, the class is not synchronized: the protected allocation and deallocation functions do_allocate() [SWS_CORE_00058] and do_deallocate() [SWS_CORE_00059] are explicitly specified as not thread-safe. In contrast, the constructors, inspectors such as upstream_resource() [SWS_CORE_00056] and options() [SWS_CORE_00057], as well as release() [SWS_CORE_00065] and the destructor are classified as thread-safe.

Usage Path

A typical usage path includes instantiation, repeated memory allocations and deallocations, and final cleanup:

  1. Initialization: The caller creates the instance specifying desired PoolOptions and an upstream resource [SWS_CORE_00067].
  2. Allocation: Memory is obtained via the base class interface, which delegates to do_allocate() [SWS_CORE_00058]. Interpretation: If no suitable block is free in the internal pool, new chunk memory is requested from the upstream resource via its regular allocation interface. Question Q-ca9abd7b5da1a39f (open)
  3. Deallocation: Blocks to be released are passed to do_deallocate() and returned to the internal pool for subsequent requests [SWS_CORE_00059].
  4. Resource reset: Prior to reuse or shutdown, release() can be called to return upstream memory blocks collectively [SWS_CORE_00065].
  5. Destruction: The object is regularly destroyed at the end of its scope via its concrete type [SWS_CORE_00062].
Typical sequence of memory allocation and deallocationCallerUnsynchronizedPoolResourceUpstream-RessourceUse Case: InitialisierungUnsynchronizedPoolResource(opts, upstream)Use Case: Speichernutzungdo_allocate(bytes, alignment)optPool exhaustedallocate(...)SpeicherblockPointer to memory (or nullptr)do_deallocate(p, bytes, alignment)Use Case: Bereinigungrelease()deallocate(...)

Sequence diagram: Typical sequence from allocation through deallocation to memory release. Sources: [SWS_CORE_00058], [SWS_CORE_00059], [SWS_CORE_00065], [SWS_CORE_00067]

Error Scenarios

AUTOSAR defines specific deviations from standard C++ for ara::core::UnsynchronizedPoolResource in order to meet the requirements for deterministic runtime behavior without exceptions:

  • Memory exhaustion during allocation: If a memory request fails in do_allocate(), no std::bad_alloc exception is thrown. The function is declared as noexcept and strictly returns nullptr instead [SWS_CORE_00058]. Callers must therefore consistently check return values for nullptr.
  • Error during deallocation: If deallocation via do_deallocate() fails, the error is silently ignored ("silently ignored") without exceptions being propagated [SWS_CORE_00059].
  • Polymorphic destruction: Since the destructor is explicitly non-virtual in deviation from [mem.res.pool] [SWS_CORE_00062], Interpretation: Destruction via a pointer of the base class MemoryResource* is likely to lead to undefined behavior. Question Q-68ed70c0b6a907a3 (open) Instances must always be destroyed via their derived type.
  • Exception safety during creation: While the constructor with options and upstream resource is considered noexcept [SWS_CORE_00067], the default constructor [SWS_CORE_00063] as well as the constructors [SWS_CORE_00064] and [SWS_CORE_00068] are marked as not exception-safe. Interpretation: The lack of exception safety in these constructors is likely attributable to the fact that advance allocations from the upstream resource can fail during initialization. Question Q-8e2bbf2053947649 (open)

This guide is based on the AUTOSAR Adaptive specifications of release R25-11 for the core module.

Member map

Constructors and destructor

1

Operators

1

Class diagram

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

Detail view

Select an entry in the outline.

Constructors and destructor

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

UnsynchronizedPoolResource (UnsynchronizedPoolResource &&other) noexcept=default;

Methods

UnsynchronizedPool function 13

≙ [mem.res.pool]

Overloads 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

Operators

operator= function

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

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

Method documentation

function UnsynchronizedPool [SWS_CORE_00046]

UnsynchronizedPoolResource (const UnsynchronizedPoolResource &)=delete;

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: f284e1fe400c Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The declaration of the copy constructor as deleted (=delete) in ara::core::UnsynchronizedPoolResource according to [SWS_CORE_00046] prevents any duplication of a pool instance. For object creation, specific constructors are available instead, such as without arguments [SWS_CORE_00063], with specification of an upstream memory resource [SWS_CORE_00064], with PoolOptions [SWS_CORE_00068], or with both parameters [SWS_CORE_00067].

The following boundary conditions apply to usage and runtime behavior:

  • Invocation and error handling: An attempt to copy is already rejected by the compiler as an error at compile time. Allocation errors during subsequent memory usage via do_allocate do not result in exceptions, but return nullptr [SWS_CORE_00058], while deallocation errors in do_deallocate are silently ignored [SWS_CORE_00059].
  • Concurrency: Individual memory operations on the instance are declared not thread-safe [SWS_CORE_00058], [SWS_CORE_00059]. Interpretation: Deleting the copy constructor likely ensures exclusive responsibility for the managed memory blocks and prevents inconsistent states during concurrent usage or premature release via release [SWS_CORE_00065]. Question Q-d97dd87dddb2379d (open)
  • Interaction: The restriction corresponds to the likewise deleted assignment operator [SWS_CORE_00047]. The destructor of the class is non-virtual [SWS_CORE_00062], while identity checks can be performed via do_is_equal [SWS_CORE_00060].

This text was created by an AI; it does not replace reading the AUTOSAR specification.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00047]

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

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 6b94e396e900 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The copy assignment operator of ara::core::UnsynchronizedPoolResource is explicitly declared as deleted (=delete) according to [SWS_CORE_00047]. Assigning one instance to another is thus syntactically excluded and leads to a compiler error already at compile time. Together with the likewise deleted copy constructor [SWS_CORE_00046], this ensures that instances of the resource class can neither be copied nor duplicated by assignment. Interpretation: This is likely intended to prevent internal memory blocks and management information from being referenced multiple times or incorrectly deallocated. Question Q-75cee08bebc61976 (open)

New instances are created instead via the provided constructors, for example without parameters via [SWS_CORE_00063], with an upstream resource via [SWS_CORE_00064], or specifying PoolOptions via [SWS_CORE_00067] or [SWS_CORE_00068]. The associated upstream resource can be queried via [SWS_CORE_00056] and the configuration options via [SWS_CORE_00057]. Managed memory can be explicitly deallocated with [SWS_CORE_00065] before the lifetime ends with the non-virtual destructor [SWS_CORE_00062].

Since assignments are precluded by [SWS_CORE_00047], instances must be passed by reference or pointer if needed. It should be noted here that allocations via [SWS_CORE_00058] and deallocations via [SWS_CORE_00059] are specified as not thread-safe. If a memory request fails, no exception is thrown, but nullptr is returned [SWS_CORE_00058]; deallocation errors are silently ignored [SWS_CORE_00059].

This usage note was generated by an AI and does not replace manual verification.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00056]

MemoryResource * upstream_resource () const noexcept;

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 1faa09f94501 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method upstream_resource() of class ara::core::UnsynchronizedPoolResource synchronously returns a pointer to the upstream MemoryResource [SWS_CORE_00056]. The call is parameterless and declared as const. Inclusion and type declarations are provided via the header file #include "ara/core/memory_resource.h" [SWS_CORE_00056].

Error handling

The function is specified as noexcept as well as exception safe [SWS_CORE_00056]. It throws no exceptions and reports neither specific error codes nor DET or DEM events. If preceding initialization via constructors fails, those are in part not exception safe [SWS_CORE_00063], whereas the query itself always remains error-free.

Concurrency and Limitations

The method upstream_resource() is explicitly classified as thread-safe [SWS_CORE_00056]. This is in contrast to the internal allocation routines do_allocate() [SWS_CORE_00058] and do_deallocate() [SWS_CORE_00059], which are specified as not thread-safe. In addition, the copy constructor and assignment operator of the class are deleted [SWS_CORE_00046], [SWS_CORE_00047].

Interaction

The method interacts closely with the constructors of UnsynchronizedPoolResource, to which an upstream MemoryResource can optionally be passed [SWS_CORE_00064], [SWS_CORE_00067]. Interpretation: The returned pointer is expected to point precisely to the instance of MemoryResource specified during instantiation. Question Q-aefbc7d0f7d085d1 (open) Further properties of the pool resource can be queried via options() [SWS_CORE_00057], while allocated memory can be released via release() [SWS_CORE_00065].

This usage note was generated automatically based on the specification.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00057]

PoolOptions options () const noexcept;

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 0e89c24bf535 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The member function options() of class ara::core::UnsynchronizedPoolResource serves to synchronously query the memory pool configuration [SWS_CORE_00057]. The method is declared in #include "ara/core/memory_resource.h", expects no parameters, and returns an instance of type PoolOptions by value [SWS_CORE_00057]. As a const-qualified function, it does not modify the object and behaves according to the specification in [mem.res.pool] [SWS_CORE_00057].

Error Handling and Exception Safety

The interface is defined as noexcept and guarantees complete exception safety (exception safe) [SWS_CORE_00057]. No exceptions are thrown and no error return values exist; retrieving the options always succeeds without errors.

Concurrency and Limitations

In the specification, options() is designated as thread-safe (thread-safe) [SWS_CORE_00057]. This contrasts with allocation functions of the same class such as do_allocate [SWS_CORE_00058] and do_deallocate [SWS_CORE_00059], which are explicitly not thread-safe. The method can thus be executed concurrently for state inspection.

Interaction

The returned PoolOptions likely reflect the parameters with which the pool resource was parameterized via corresponding constructors [SWS_CORE_00067], [SWS_CORE_00068], or represent the default options when using default constructors [SWS_CORE_00063], [SWS_CORE_00064]. Question Q-19fa8ad6e3e6b1c6 (open) In addition to options(), the function upstream_resource() is also available for inspection [SWS_CORE_00056], while copying operations of the resource are prevented by deleted operators [SWS_CORE_00046], [SWS_CORE_00047].

This usage note was automatically generated based on the AUTOSAR Adaptive specification R25-11.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00058]

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

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 1abf1e899f64 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method do_allocate of class ara::core::UnsynchronizedPoolResource allocates memory for the requested byte size (bytes) and alignment (alignment) [SWS_CORE_00058]. Interpretation: Since the method is specified with protected visibility (protected), it would typically not be called directly by application code in regular operation, but indirectly via the allocation interface of the base class. Question Q-5a702813496f8071 (open) The declaration is provided via the header file #include "ara/core/memory_resource.h" [SWS_CORE_00058].

Error handling

In contrast to the standard behavior according to [mem.res.pool], the function is declared as noexcept and does not throw an exception such as std::bad_alloc [SWS_CORE_00058] upon allocation failures. Instead, it mandatorily returns nullptr in case of failure [SWS_CORE_00058]. Calling code must therefore always explicitly check the result for null pointers.

Concurrency and Limitations

The function is classified as not thread-safe [SWS_CORE_00058]. Concurrent calls on the same instance of UnsynchronizedPoolResource are not permitted without external synchronization. The copy constructor and assignment operator of the class are deleted (delete), so instances cannot be copied ([SWS_CORE_00046], [SWS_CORE_00047]).

Interaction

For memory deallocation, the counterpart do_deallocate exists, which is likewise designed to be protected, noexcept, and not thread-safe, and silently ignores errors [SWS_CORE_00059]. Internally, the pool uses the upstream resource configured during instantiation ([SWS_CORE_00056], [SWS_CORE_00064], [SWS_CORE_00067]). With release(), the memory obtained from the pool can be deallocated in bulk [SWS_CORE_00065].

This text was generated by an AI and is based exclusively on the specifications of release R25-11.

Implementer's Guide to follow (complexity I1)

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

Rückgabewert

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

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

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

function UnsynchronizedPool [SWS_CORE_00059]

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

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: cf9c9d0f03e7 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The virtual member function do_deallocate is declared as protected in the scope of ara::core::UnsynchronizedPoolResource (header #include "ara/core/memory_resource.h") [SWS_CORE_00059]. It handles the synchronous deallocation of a memory block based on the passed parameters p (pointer to the memory area), bytes (size in bytes), and alignment (alignment). Interpretation: As a protected method, the call would typically occur indirectly via the public interface of the memory resource. Question Q-f4992f515c10ee01 (open)

Error handling

Compared to the standard behavior in [mem.res.pool], the function exhibits two specific deviations: It is declared as noexcept and is therefore exception safe [SWS_CORE_00059]. If deallocation fails, errors are silently ignored (errors will be silently ignored); neither an error code nor a separate error message exists.

Concurrency and Limitations

The operation is explicitly designated as not thread-safe (not thread-safe) [SWS_CORE_00059]. If memory areas of the same resource instance are deallocated from multiple threads, access must mandatorily be externally synchronized.

Interaction

The method complements do_allocate [SWS_CORE_00058], which is also specified as noexcept and not thread-safe and returns nullptr on failure. To completely release all reserved memory of the pool, the thread-safe method release is available [SWS_CORE_00065]. Instances of the class are not copyable, as the copy constructor [SWS_CORE_00046] and assignment operator [SWS_CORE_00047] are deleted.

This usage note was generated automatically based on the AUTOSAR specification R25-11.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00060]

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

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 73b01a5b5d45 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The protected member function do_is_equal of class ara::core::UnsynchronizedPoolResource performs the equality comparison for memory resources according to [SWS_CORE_00060]. It is provided via the header ara/core/memory_resource.h. Since the method has visibility protected, it is intended for internal invocation via the base class MemoryResource ([SWS_CORE_00060]). It synchronously compares the current instance with a passed reference of type MemoryResource and returns a bool value ([SWS_CORE_00060]). According to [mem.res.pool], the comparison is likely to typically check for the identity of both resources (this == &other), as memory pools operate in isolation. Question Q-679a5e17d2e2903f (open)

The method is declared as noexcept and has the specification exception safe ([SWS_CORE_00060]). It throws no exceptions and uses no DET or DEM error messages.

With respect to concurrency, do_is_equal is classified as thread-safe ([SWS_CORE_00060]). Since it operates exclusively read-only as a const member function, it can be called concurrently by multiple threads. This contrasts with allocation operations such as do_allocate ([SWS_CORE_00058]) and do_deallocate ([SWS_CORE_00059]), which are explicitly not thread-safe.

In the interaction of memory resources, the class is neither copyable nor assignable ([SWS_CORE_00046], [SWS_CORE_00047]). Instances can be initialized via constructors such as [SWS_CORE_00063], [SWS_CORE_00064], [SWS_CORE_00067], or [SWS_CORE_00068]. Upstream memory sources can be queried using upstream_resource() ([SWS_CORE_00056]), while prior to destruction ([SWS_CORE_00062]) the allocated memory can be released using release() ([SWS_CORE_00065]).

This usage note was generated automatically based on the specification requirements of R25-11.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00062]

~UnsynchronizedPoolResource () noexcept override;

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 4b99104ceb2c Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The destructor ~UnsynchronizedPoolResource() ([SWS_CORE_00062]) terminates the lifetime of an instance of the memory class ara::core::UnsynchronizedPoolResource from header ara/core/memory_resource.h. The call is synchronous and is declared as noexcept, making the operation exception-safe ([SWS_CORE_00062]).

The semantics basically correspond to the pool usage in [mem.res.pool], but exhibit a significant deviation: the destructor is not virtual ([SWS_CORE_00062]). Interpretation: It likely follows from the non-virtuality of the destructor that instances must not be deallocated polymorphically via a base class pointer to MemoryResource. Question Q-5578b2bf008b98c5 (open)

Regarding lifecycle and interplay, the following conditions apply:

This usage note was generated automatically and is based on the specifications of AUTOSAR release R25-11.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00063]

UnsynchronizedPoolResource ();

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: b1a57ee10029 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The parameterless default constructor [SWS_CORE_00063] initializes an instance of ara::core::UnsynchronizedPoolResource according to the semantics from [mem.res.pool]. Interpretation: In doing so, default pool options and a default upstream memory resource are likely used, which can later be queried via [SWS_CORE_00057] and [SWS_CORE_00056]. Question Q-d76bae1c251fa516 (open)

Regarding lifecycle and usage, the following general conditions apply:

  • Copy protection and overloading: Copy constructor [SWS_CORE_00046] and assignment operator [SWS_CORE_00047] are deleted (delete). In addition to parameterless instantiation, overloaded constructors with explicit pool options or upstream resources are available ([SWS_CORE_00064], [SWS_CORE_00067], [SWS_CORE_00068]).
  • Error handling and exception safety: The constructor is declared as not exception safe [SWS_CORE_00063]. During subsequent memory operation, the memory operations deviate from standard exceptions: do_allocate returns nullptr instead of an exception in the event of an error [SWS_CORE_00058], while do_deallocate silently ignores errors [SWS_CORE_00059].
  • Concurrency: The constructor call itself is thread-safe [SWS_CORE_00063]. However, the subsequent allocation and deallocation operations of the created instance (do_allocate, do_deallocate) are explicitly specified as not thread-safe ([SWS_CORE_00058], [SWS_CORE_00059]).
  • Resource deallocation and destruction: Allocated memory can be released via [SWS_CORE_00065]. The destructor is noexcept, but implemented non-virtually [SWS_CORE_00062].

This usage note was generated automatically based on the AUTOSAR Adaptive R25-11 specification.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00064]

explicit UnsynchronizedPoolResource (MemoryResource *upstream);

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 693f1605fced Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Usage and purpose

The constructor explicit UnsynchronizedPoolResource (MemoryResource *upstream) initializes an instance of class ara::core::UnsynchronizedPoolResource from the header file #include "ara/core/memory_resource.h" according to [mem.res.pool] [SWS_CORE_00064]. Via parameter upstream, the parent memory resource is passed, which can later be queried via method upstream_resource() [SWS_CORE_00056]. A parameterless default constructor [SWS_CORE_00063] as well as overloads with PoolOptions are available as alternatives [SWS_CORE_00067], [SWS_CORE_00068].

Error Handling and Exception Behavior

Instantiation is specified as not exception safe [SWS_CORE_00064], so exceptions may occur during construction. Different rules apply to downstream memory allocations: The internal allocation function do_allocate does not throw an exception, but returns nullptr on failure [SWS_CORE_00058], while errors during do_deallocate are silently ignored [SWS_CORE_00059].

Concurrency and Limitations

The constructor call itself is considered thread-safe [SWS_CORE_00064]. Copy operations are prohibited because both the copy constructor [SWS_CORE_00046] and the assignment operator [SWS_CORE_00047] are deleted. After construction, the allocation and deallocation operations are not thread-safe [SWS_CORE_00058], [SWS_CORE_00059]. In addition, the destructor is declared as non-virtual [SWS_CORE_00062]. Allocated memory can be released prematurely via release() [SWS_CORE_00065]. Interpretation: Since a native pointer upstream is passed, the referenced upstream resource is likely required to remain valid over the entire lifetime of the pool instance. Question Q-3e6c23bae834b912 (open)

This text was generated by an AI and serves for technical orientation.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00065]

void release () noexcept;

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: e7ed99220f1f Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The member function release() belongs to the scope of class ara::core::UnsynchronizedPoolResource and is declared via the header file ara/core/memory_resource.h [SWS_CORE_00065]. The function has no input parameters and no return value (void). Its functional semantics follow the C++ standard [mem.res.pool] [SWS_CORE_00065]; the reference likely means that the function synchronously returns all memory allocated via the pool instance to the upstream memory resource (upstream_resource()) [SWS_CORE_00056]. Question Q-e0c7e00cde5d5a34 (open)

Error handling

The function is defined as noexcept as well as exception safe [SWS_CORE_00065]. It throws no exceptions during execution. Since the specification does not list any specific error codes or DET/DEM messages, no explicit error feedback via release() occurs in the event of memory deallocation errors.

Concurrency and Limitations

According to the specification, release() is classified as thread-safe [SWS_CORE_00065]. This is in contrast to the internal memory management functions of the class: Both allocation using do_allocate [SWS_CORE_00058] and deallocation via do_deallocate [SWS_CORE_00059] are explicitly classified as not thread-safe.

Interaction

The method interacts closely with other properties and requirements of UnsynchronizedPoolResource:

This text is based on the specification of AUTOSAR release R25-11 for the Core module.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00067]

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

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 9bac3333fca1 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The constructor [SWS_CORE_00067] initializes an instance of ara::core::UnsynchronizedPoolResource with specific pool options (opts) and an upstream memory resource (upstream). The call is synchronous and specified as noexcept, making object creation exception safe. Copying the instance is excluded, as both the copy constructor [SWS_CORE_00046] and the assignment operator [SWS_CORE_00047] are deleted (=delete).

The configured settings and upstream resources can be retrieved at runtime via options() [SWS_CORE_00057] as well as upstream_resource() [SWS_CORE_00056]. A default constructor [SWS_CORE_00063] as well as overloads that accept only upstream [SWS_CORE_00064] or opts [SWS_CORE_00068] are available as alternatives. The occupied memory can be released via release() [SWS_CORE_00065] or the destructor [SWS_CORE_00062], with the destructor being non-virtual in deviation from the standard.

Regarding concurrency, construction itself is declared thread-safe [SWS_CORE_00067]. The actual memory management functions of the instance—do_allocate [SWS_CORE_00058] and do_deallocate [SWS_CORE_00059]—are however explicitly not thread-safe (“not thread-safe”) and require external protection mechanisms upon concurrent access. Errors are handled without exceptions: Failed allocations return nullptr [SWS_CORE_00058], while deallocation errors are silently ignored [SWS_CORE_00059]. Interpretation: The passed upstream object presumably must remain valid throughout the entire lifecycle of the pool. Question Q-2439ec8f9fb8bb3e (open)

This text was generated by an AI based on the AUTOSAR Adaptive R25-11 specification.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPool [SWS_CORE_00068]

explicit UnsynchronizedPoolResource (const PoolOptions &opts);

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

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 379494cd66cf Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The constructor [SWS_CORE_00068] serves for the synchronous initialization of a ara::core::UnsynchronizedPoolResource specifying specific configuration parameters via the parameter opts (type PoolOptions). The behavior follows the standard [mem.res.pool] from the header file ara/core/memory_resource.h. The passed settings can be retrieved after instantiation with options() [SWS_CORE_00057], while the upstream memory manager is accessible via upstream_resource() [SWS_CORE_00056].

Regarding error handling, the function is specified as "not exception safe" [SWS_CORE_00068]. Interpretation: If the internal provision of management structures fails during instantiation, an exception is likely to be thrown, distinguishing this call from the noexcept variant [SWS_CORE_00067]. Question Q-479a016f4e0ddde7 (open) While the constructor itself is classified as "thread-safe" [SWS_CORE_00068], subsequent memory operations of the resulting instance such as do_allocate [SWS_CORE_00058] and do_deallocate [SWS_CORE_00059] are expressly "not thread-safe"; consequently, they must not be executed concurrently without protection.

In interaction with the lifecycle of the class, it should be noted that copy construction [SWS_CORE_00046] and assignment operator [SWS_CORE_00047] are deleted (delete). Allocated memory remains in the pool until it is released via release() [SWS_CORE_00065] or the object is destroyed via the non-virtual destructor [SWS_CORE_00062].

This text was generated by an AI and serves as guidance.

Implementer's Guide to follow (complexity I1)

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

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

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

function UnsynchronizedPoolResource [SWS_CORE_00048] Upstream: RS_AP_00130

UnsynchronizedPoolResource (UnsynchronizedPoolResource &&other) noexcept=default;

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

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

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

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

function operator= [SWS_CORE_00049] Upstream: RS_AP_00130

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

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

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

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

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