DEENESPTFRRUARHIKOZHNL

clase ara::core::MonotonicBufferResource

[SWS_CORE_06520] Upstream: RS_AP_00130

class MonotonicBufferResource :            public MemoryResource {...};

Implementation of std::pmr::monotonic_buffer_resource type from [mem.res.monotonic.buffer]

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

Guía del usuarioGENERADO POR IA

Gestiona bloques de memoria en un búfer de crecimiento monótono con asignación sin excepciones y liberación colectiva.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 993d3b66f0fc Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Gestiona bloques de memoria en un búfer de crecimiento monótono con asignación sin excepciones y liberación colectiva.

La clase ara::core::MonotonicBufferResource proporciona un recurso de memoria especializado para asignaciones rápidas y monótonas a partir de un búfer de memoria fijo o a través de un recurso ascendente (upstream). La memoria solicitada se concede paso a paso y, en las desasignaciones individuales, no se libera de inmediato, sino que se restablece de forma agrupada mediante release() ([SWS_CORE_06530]). Todas las operaciones están declaradas completamente libres de excepciones, señalándose la falta de memoria mediante la devolución de nullptr en lugar de una excepción ([SWS_CORE_06569]). Las instancias no son copiables y requieren sincronización externa en caso de acceso concurrente desde múltiples subprocesos.

Contexto

La clase ara::core::MonotonicBufferResource es un recurso de memoria concreto dentro del módulo core de la plataforma AUTOSAR Adaptive y hereda de la clase base ara::core::MemoryResource. Adapta el concepto conocido del estándar C++ de std::pmr::monotonic_buffer_resource procedente de [mem.res.monotonic.buffer] para aplicaciones vehiculares deterministas y relevantes para la seguridad. La función principal de la clase consiste en atender solicitudes de asignación con un mínimo de sobrecarga de gestión a partir de un área de memoria continua, asignando memoria de forma monótona.

Como participantes en la interacción actúan, por un lado, componentes invocadores, asignadores polimórficos y contenedores que solicitan bloques de memoria en tiempo de ejecución. Por otro lado, la clase interactúa con un recurso de memoria upstream superior opcional (MemoryResource). Este recurso upstream puede transferirse a través de constructores como [SWS_CORE_06521] y consultarse mediante el método de acceso upstream_resource() ([SWS_CORE_06531]).

Ciclo de vida

La inicialización de ara::core::MonotonicBufferResource puede controlarse a través de varios constructores. Además de un constructor por defecto sin parámetros ([SWS_CORE_06524]), se dispone de sobrecargas que reciben un recurso upstream explícito ([SWS_CORE_06521]), definen un tamaño de búfer inicial ([SWS_CORE_06525], [SWS_CORE_06522]) o utilizan un área de memoria bruta proporcionada externamente (void* buffer, std::size_t buffer_size) como búfer inicial ([SWS_CORE_06526], [SWS_CORE_06523]).

En relación con las relaciones de propiedad, la clase está definida como estrictamente no copiable: el constructor de copia ([SWS_CORE_06527]) y el operador de asignación por copia ([SWS_CORE_06529]) están eliminados (=delete). A diferencia del estándar ISO-14882, la clase AUTOSAR implementa, sin embargo, semántica de movimiento explícita mediante el constructor de movimiento ([SWS_CORE_06576]) y el operador de asignación por movimiento ([SWS_CORE_06577]), definidos respectivamente como noexcept=default.

La destrucción tiene lugar a través del destructor ~MonotonicBufferResource() ([SWS_CORE_06528]). Una divergencia esencial de AUTOSAR respecto al estándar radica en que el destructor no está declarado como virtual. Mediante el método release() ([SWS_CORE_06530]) se puede restablecer toda la memoria asignada antes de que finalice la vida útil del objeto.

En lo que respecta a la concurrencia, debe observarse una estricta separación: el constructor sin parámetros ([SWS_CORE_06524]), la comprobación de igualdad do_is_equal() ([SWS_CORE_06571]) y la consulta upstream_resource() ([SWS_CORE_06531]) están declarados como seguros para subprocesos (thread-safe). Todos los constructores parametrizados ([SWS_CORE_06521], [SWS_CORE_06522], [SWS_CORE_06523], [SWS_CORE_06525], [SWS_CORE_06526]), las operaciones de asignación ([SWS_CORE_06569], [SWS_CORE_06570]), release() ([SWS_CORE_06530]) y el destructor ([SWS_CORE_06528]) no son seguros para subprocesos y requieren sincronización externa en caso de acceso paralelo.

Ruta de uso

Un flujo de aplicación típico comprende la provisión, la asignación continuada y la liberación colectiva:

  1. Instanciación: La aplicación crea una instancia, por ejemplo especificando un tamaño de búfer y un recurso upstream ([SWS_CORE_06522]) o un búfer fijo ([SWS_CORE_06526]).
  2. Asignación: Las solicitudes de memoria se atienden a través del método protegido do_allocate(bytes, alignment) ([SWS_CORE_06569]). Si el búfer existente no basta, la instancia obtiene nuevo búfer del recurso upstream.
  3. Desasignación: Las invocaciones de do_deallocate(p, bytes, alignment) ([SWS_CORE_06570]) no reducen el búfer de forma individual; el puntero interno de asignación avanza monótonamente.
  4. Restablecimiento del búfer: Con release() ([SWS_CORE_06530]) se liberan de una vez todos los bloques de memoria obtenidos a través de upstream, y el búfer queda disponible para nuevos ciclos.
  5. Comparación de recursos: A través de do_is_equal() ([SWS_CORE_06571]) se puede comprobar si dos recursos de memoria son idénticos.
Ciclo monotónico de asignación y liberaciónAplicaciónMonotonicBufferResourceUpstream-MemoryResourceErzeugungMonotonicBufferResource(initial_size, upstream)Speicher anforderndo_allocate(bytes, alignment)optInitialer Puffer unzureichendSpeicherblock anfordernallocate(bytes, alignment)Pufferspeicher bereitstellenPuntero al área de memoria (o nullptr)Speicher freigebendo_deallocate(p, bytes, alignment)Freigabe stillschweigend ignorierenRestablecer búferrelease()Allokierten Speicher freigeben

Diagrama de secuencia: ciclo de memoria típico desde la asignación, pasando por la desasignación ignorada, hasta el restablecimiento colectivo mediante release(). Fuentes: [SWS_CORE_06522], [SWS_CORE_06569], [SWS_CORE_06570], [SWS_CORE_06530]

Escenarios de error

La clase sigue directrices estrictas para sistemas embebidos libres de excepciones: todas las funciones miembro, constructores y operadores están declarados como noexcept y ofrecen total seguridad frente a excepciones.

En caso de error, el comportamiento difiere deliberadamente de la biblioteca estándar:

  • Asignación fallida: Si una solicitud en do_allocate() ([SWS_CORE_06569]) no puede atenderse, no se lanza ninguna excepción std::bad_alloc, sino que se devuelve un nullptr. Los invocadores deben comprobar obligatoriamente si el valor de retorno es nullptr.
  • Error en la desasignación: Si se produjera un error durante la liberación en do_deallocate() ([SWS_CORE_06570]), este se ignora silenciosamente según la especificación.
  • Destrucción a través de un puntero base: Dado que el destructor ([SWS_CORE_06528]) no es virtual, es probable que una destrucción a través de un puntero a la clase base MemoryResource provoque un comportamiento indefinido (interpretación: la destrucción debe tener lugar a través del tipo concreto). Pregunta Q-add18020b48f3131 (abierta)

Esta guía fue generada por un sistema de IA sobre la base de la especificación AUTOSAR Adaptive R25-11.

Mapa de miembros

Diagrama de clases

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

G nara__core__MonotonicBufferResource118 MonotonicBufferResource + MonotonicBufferResource() + operator=() + ~MonotonicBufferResource() + release() + upstream_resource() + do_allocate() + do_deallocate() + do_is_equal() nara__core__MemoryResource130 MemoryResource nara__core__MonotonicBufferResource118->nara__core__MemoryResource130

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

except for the following deviations: 1. The function is noexcept ≙ [mem.res.monotonic.buffer]

Sobrecargas MonotonicBufferResource 8
explicit MonotonicBufferResource (MemoryResource *upstream) noexcept; SWS_CORE_06521
MonotonicBufferResource (std::size_t initial_size, MemoryResource *upstream) noexcept; SWS_CORE_06522
MonotonicBufferResource (void *buffer, std::size_t buffer_size, Memory Resource *upstream) noexcept; SWS_CORE_06523
MonotonicBufferResource () noexcept; SWS_CORE_06524
explicit MonotonicBufferResource (std::size_t initial_size) noexcept; SWS_CORE_06525
MonotonicBufferResource (void *buffer, std::size_t buffer_size) noexcept; SWS_CORE_06526
MonotonicBufferResource (const MonotonicBufferResource &)=delete; SWS_CORE_06527
MonotonicBufferResource (MonotonicBufferResource &&other) noexcept=default; SWS_CORE_06576

except for the following deviations: 1. The function is noexcept 2. The function is not virtual ≙ [mem.res.monotonic.buffer]

~MonotonicBufferResource () noexcept override;

Métodos

do_allocate función

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

void * do_allocate (std::size_t bytes, std::size_t alignment) noexcept override;
do_deallocate función

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

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

except for the following deviations: 1. The function is noexcept ≙ [mem.res.monotonic.buffer]

bool do_is_equal (const MemoryResource &other) const noexcept override;
release función

except for the following deviations: 1. The function is noexcept ≙ [mem.res.monotonic.buffer]

void release () noexcept;

except for the following deviations: 1. The function is noexcept ≙ [mem.res.monotonic.buffer]

MemoryResource * upstream_resource () const noexcept;

Operadores

operator= función 2

≙ [mem.res.monotonic.buffer]

Sobrecargas = 2

Documentación de los métodos

función MonotonicBufferResource [SWS_CORE_06521]

explicit MonotonicBufferResource (MemoryResource *upstream) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06521
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06521@rel:R25-11#56fbb50a
Content hash
56fbb50a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06521
Status: valid/unmigrated Version: rel:R25-11#cf52252c Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06521@rel:R25-11#cf52252c
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b68d044b2026-09-30
  • R23-11rel:R23-11#76605f842026-10-14
  • R24-11rel:R24-11#5675ddf82026-10-14
  • R25-11rel:R25-11#cf52252c2026-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

función MonotonicBufferResource [SWS_CORE_06522]

MonotonicBufferResource (std::size_t initial_size, MemoryResource *upstream) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06522
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06522@rel:R25-11#d3c17478
Content hash
d3c17478
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06522
Status: valid/unmigrated Version: rel:R25-11#954d5cab Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06522@rel:R25-11#954d5cab
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#c83baca32026-09-30
  • R23-11rel:R23-11#759123a42026-10-14
  • R24-11rel:R24-11#4300fbe72026-10-14
  • R25-11rel:R25-11#954d5cab2026-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

función MonotonicBufferResource [SWS_CORE_06523]

MonotonicBufferResource (void *buffer, std::size_t buffer_size, Memory Resource *upstream) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06523
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06523@rel:R25-11#603c8378
Content hash
603c8378
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06523
Status: valid/unmigrated Version: rel:R25-11#18805d3b Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06523@rel:R25-11#18805d3b
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#acb6a9462026-09-30
  • R23-11rel:R23-11#f41e1e9f2026-10-14
  • R24-11rel:R24-11#ed78a94e2026-10-14
  • R25-11rel:R25-11#18805d3b2026-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

función MonotonicBufferResource [SWS_CORE_06524]

MonotonicBufferResource () noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MonotonicBufferResource
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_06524
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06524@rel:R25-11#952a465d
Content hash
952a465d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06524
Status: valid/unmigrated Version: rel:R25-11#d691adfe Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06524@rel:R25-11#d691adfe
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#cdaba7a12026-09-30
  • R23-11rel:R23-11#c4b16a1a2026-10-14
  • R24-11rel:R24-11#7548fbae2026-10-14
  • R25-11rel:R25-11#d691adfe2026-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

función MonotonicBufferResource [SWS_CORE_06525]

explicit MonotonicBufferResource (std::size_t initial_size) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06525
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06525@rel:R25-11#f4750c26
Content hash
f4750c26
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06525
Status: valid/unmigrated Version: rel:R25-11#0e59defc Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06525@rel:R25-11#0e59defc
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#5049fb972026-09-30
  • R23-11rel:R23-11#c421df4a2026-10-14
  • R24-11rel:R24-11#d5aca05b2026-10-14
  • R25-11rel:R25-11#0e59defc2026-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

función MonotonicBufferResource [SWS_CORE_06526]

MonotonicBufferResource (void *buffer, std::size_t buffer_size) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06526
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06526@rel:R25-11#006e57bc
Content hash
006e57bc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06526
Status: valid/unmigrated Version: rel:R25-11#f89b06c1 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06526@rel:R25-11#f89b06c1
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#2cca31c02026-09-30
  • R23-11rel:R23-11#d5cf48d92026-10-14
  • R24-11rel:R24-11#6c43aeda2026-10-14
  • R25-11rel:R25-11#f89b06c12026-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

función MonotonicBufferResource [SWS_CORE_06527]

MonotonicBufferResource (const MonotonicBufferResource &)=delete;

As per corresponding usage in [mem.res.monotonic.buffer]

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06527
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06527@rel:R25-11#45c52ffc
Content hash
45c52ffc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06527
Status: valid/unmigrated Version: rel:R25-11#16e6cac0 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06527@rel:R25-11#16e6cac0
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#a2a4321d2026-09-30
  • R23-11rel:R23-11#6632fcf42026-10-14
  • R24-11rel:R24-11#de03506d2026-10-14
  • R25-11rel:R25-11#16e6cac02026-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

función MonotonicBufferResource [SWS_CORE_06576] Upstream: RS_AP_00145

MonotonicBufferResource (MonotonicBufferResource &&other) noexcept=default;

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

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

Parameter (in)

ParameterBeschreibung
otherother MonotonicBufferResource to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_06576
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06576@rel:R25-11#eed32566
Content hash
eed32566
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06576
Status: valid/unmigrated Version: rel:R25-11#4c2df3e5 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_06576@rel:R25-11#4c2df3e5
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f24402302026-09-30
  • R24-11rel:R24-11#4990130a2026-10-14
  • R25-11rel:R25-11#4c2df3e52026-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

función do_allocate [SWS_CORE_06569]

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

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 601be17f5d68 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función miembro protegida do_allocate de la clase ara::core::MonotonicBufferResource sirve para asignar regiones de memoria conforme a [mem.res.monotonic.buffer] [SWS_CORE_06569]. Implementa la interfaz puramente virtual do_allocate de la clase base ara::core::MemoryResource [SWS_CORE_06566]. Como interpretación, es probable que la llamada síncrona se realice principalmente de forma indirecta a través de los métodos públicos de asignación de la clase base debido a la visibilidad protected. Pregunta Q-21b2da19c0fd7f8f (abierta) La función toma el tamaño solicitado en bytes, así como la alineación deseada (alignment).

Tratamiento de errores y seguridad frente a excepciones

A diferencia del comportamiento estándar de C++, la función no lanza una excepción std::bad_alloc en caso de errores de asignación, sino que devuelve en su lugar un nullptr [SWS_CORE_06569]. Debido a la declaración con noexcept, el método está especificado como seguro frente a excepciones [SWS_CORE_06569]. Por lo tanto, los llamantes siempre deben comprobar si el resultado es nullptr para detectar memoria insuficiente.

Concurrencia e interacción

El método está especificado como no seguro para subprocesos [SWS_CORE_06569]. Si las asignaciones se inician de forma concurrente desde varios subprocesos, la sincronización debe realizarse externamente en el punto de llamada. Esto coincide con el comportamiento de ara::core::UnsynchronizedPoolResource::do_allocate [SWS_CORE_00058], mientras que ara::core::SynchronizedPoolResource::do_allocate está diseñado para ser seguro para subprocesos en llamadas concurrentes [SWS_CORE_00061].

Esta nota de uso fue generada de forma automatizada a partir de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad I1)

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

Rückgabewert

TypBeschreibung
void *• If successful: As per corresponding usage in [mem.res.monotonic.buffer] • 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_06569
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06569@rel:R25-11#fdb78c61
Content hash
fdb78c61
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06569
Status: valid/unmigrated Version: rel:R25-11#b9ee8ac6 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_06569@rel:R25-11#b9ee8ac6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#abbfa0d62026-09-30
  • R24-11rel:R24-11#59103c462026-10-14
  • R25-11rel:R25-11#b9ee8ac62026-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

función do_deallocate [SWS_CORE_06570]

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

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: e7d49ed79e7c Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función miembro do_deallocate de la clase ara::core::MonotonicBufferResource sirve para desasignar regiones de memoria conforme a [SWS_CORE_06570]. Está definida a través del archivo de cabecera #include "ara/core/memory_resource.h" [SWS_CORE_06570]. La función toma un puntero p a la región de memoria que se va a liberar, así como los parámetros bytes y alignment (ambos de tipo std::size_t), y no devuelve ningún valor (void) [SWS_CORE_06570]. La semántica sigue lo establecido en [mem.res.monotonic.buffer] con desviaciones específicas de AUTOSAR [SWS_CORE_06570].

Manejo de errores

La función está declarada como noexcept y garantiza la seguridad frente a excepciones (exception safe) [SWS_CORE_06570]. Si se produce un error durante la ejecución, se ignora silenciosamente (errors will be silently ignored) [SWS_CORE_06570]. No existen valores de retorno ni códigos de error específicos para mensajes de error.

Concurrencia y restricciones

En cuanto a la concurrencia, do_deallocate está especificada como no segura para subprocesos (not thread-safe) [SWS_CORE_06570]. No está permitida una llamada simultánea desde varios subprocesos sin sincronización externa. El método tiene visibilidad protected y sobrescribe la interfaz puramente virtual de la clase base ara::core::MemoryResource [SWS_CORE_06567]. Interpretación: es probable que las llamadas se gestionen de forma habitual a través de la interfaz pública de desasignación de la clase base. Pregunta Q-6916292acaa8993b (abierta)

Interacción

Mientras que la clase base ara::core::MemoryResource prescribe el método de desasignación con visibilidad privada [SWS_CORE_06567], MonotonicBufferResource así como las clases relacionadas ara::core::SynchronizedPoolResource [SWS_CORE_00041] y ara::core::UnsynchronizedPoolResource [SWS_CORE_00059] lo implementan protegido (protected) con tratamiento silencioso de errores. A diferencia del recurso de grupo sincronizado [SWS_CORE_00041], que es seguro para subprocesos, MonotonicBufferResource, al igual que ara::core::UnsynchronizedPoolResource [SWS_CORE_00059], requiere excluir accesos paralelos.

Esta nota de uso fue creada por una IA y se basa en las disposiciones de la especificación AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MonotonicBufferResource
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_06570
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06570@rel:R25-11#c7a23a2f
Content hash
c7a23a2f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06570
Status: valid/unmigrated Version: rel:R25-11#f3b1bdb5 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_06570@rel:R25-11#f3b1bdb5
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#46e378422026-09-30
  • R24-11rel:R24-11#19c0e1ee2026-10-14
  • R25-11rel:R25-11#f3b1bdb52026-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

función do_is_equal [SWS_CORE_06571]

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

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: fc4ade44f9c3 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método protegido (protected) do_is_equal de la clase ara::core::MonotonicBufferResource sobrescribe la interfaz puramente virtual de la clase base ara::core::MemoryResource conforme a [SWS_CORE_06571]. Compara síncronamente la instancia actual con un const MemoryResource &other pasado para determinar la igualdad respecto a la semántica de gestión de memoria.

Uso y semántica

La llamada se realiza típicamente de forma indirecta a través de la interfaz pública de MemoryResource. Conforme a [SWS_CORE_06571], el comportamiento se rige por el uso en [mem.res.monotonic.buffer], pero presenta la desviación explícita de que la función está declarada como noexcept. El valor de retorno es un bool que indica si ambos recursos son intercambiables o idénticos.

Tratamiento de errores y concurrencia

  • Seguridad frente a excepciones: la función está especificada como exception safe y no lanza excepciones debido a la signatura noexcept conforme a [SWS_CORE_06571]. No existen códigos de error específicos ni mensajes de DET/DEM.
  • Seguridad para subprocesos: la operación está clasificada como thread-safe ([SWS_CORE_06571]) y puede ejecutarse de forma concurrente.

Interacción

La función implementa el contrato virtual de ara::core::MemoryResource ([SWS_CORE_06568]). También se encuentran implementaciones similares de la comparación de igualdad en otros recursos de memoria como ara::core::SynchronizedPoolResource ([SWS_CORE_00042]) y ara::core::UnsynchronizedPoolResource ([SWS_CORE_00060]).

Este texto fue generado por una IA sobre la base de la especificación R25-11.

Guía del implementador pendiente (complejidad I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MonotonicBufferResource
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_06571
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06571@rel:R25-11#13bc5c80
Content hash
13bc5c80
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06571
Status: valid/unmigrated Version: rel:R25-11#5dc73006 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_06571@rel:R25-11#5dc73006
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#455886dc2026-09-30
  • R24-11rel:R24-11#ceb8fc942026-10-14
  • R25-11rel:R25-11#5dc730062026-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

función operator= [SWS_CORE_06529]

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

As per corresponding usage in [mem.res.monotonic.buffer]

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06529
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06529@rel:R25-11#d8ca097e
Content hash
d8ca097e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06529
Status: valid/unmigrated Version: rel:R25-11#2502c929 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06529@rel:R25-11#2502c929
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#c667aa8a2026-09-30
  • R23-11rel:R23-11#65eba1772026-10-14
  • R24-11rel:R24-11#e0f799bc2026-10-14
  • R25-11rel:R25-11#2502c9292026-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

función operator= [SWS_CORE_06577] Upstream: RS_AP_00145

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

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

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

Parameter (in)

ParameterBeschreibung
otherother MonotonicBufferResource to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_06577
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06577@rel:R25-11#385a9700
Content hash
385a9700
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06577
Status: valid/unmigrated Version: rel:R25-11#088d07f5 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_06577@rel:R25-11#088d07f5
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#3aca8c882026-09-30
  • R24-11rel:R24-11#e89e6dab2026-10-14
  • R25-11rel:R25-11#088d07f52026-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

función release [SWS_CORE_06530]

void release () noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 082c843665ce Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función miembro release() de la clase ara::core::MonotonicBufferResource ([SWS_CORE_06530]) sirve para liberar la memoria gestionada por el recurso de búfer. La llamada se realiza de forma síncrona, no toma parámetros y no devuelve ningún valor (void).

En cuanto al tratamiento de errores, la función está declarada como noexcept y especificada como segura frente a excepciones (exception safe) ([SWS_CORE_06530]). No existen códigos de error específicos ni se envían mensajes de error a instancias centrales de diagnóstico o notificación.

Respecto a la concurrencia, release() está clasificada explícitamente como no segura para subprocesos (not thread-safe) ([SWS_CORE_06530]). No está permitido el acceso concurrente a la misma instancia sin sincronización externa. Interpretación: debido a la semántica inspirada en [mem.res.monotonic.buffer], es probable que con la llamada queden invalidadas todas las regiones de memoria proporcionadas previamente mediante este recurso. Pregunta Q-bd46bd9971926d95 (abierta)

En la interacción de los recursos de memoria de #include "ara/core/memory_resource.h", la función difiere en su comportamiento de concurrencia de ara::core::SynchronizedPoolResource::release(), que es segura para subprocesos ([SWS_CORE_00037]), mientras que se comporta de manera análoga a ara::core::UnsynchronizedPoolResource::release(), que tampoco es segura para subprocesos ([SWS_CORE_00065]).

Este texto fue generado por una IA sobre la base de los requisitos de especificación de AUTOSAR R25-11.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06530
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06530@rel:R25-11#9258ca49
Content hash
9258ca49
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06530
Status: valid/unmigrated Version: rel:R25-11#69f783e0 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06530@rel:R25-11#69f783e0
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#819676212026-09-30
  • R23-11rel:R23-11#691b1b062026-10-14
  • R24-11rel:R24-11#83f3869e2026-10-14
  • R25-11rel:R25-11#69f783e02026-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

función upstream_resource [SWS_CORE_06531]

MemoryResource * upstream_resource () const noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 34a11a1fee7a Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función miembro upstream_resource() de la clase ara::core::MonotonicBufferResource devuelve síncronamente un puntero al recurso de memoria ascendente de tipo MemoryResource* [SWS_CORE_06531]. La llamada se realiza a través de la cabecera #include "ara/core/memory_resource.h" y no toma parámetros [SWS_CORE_06531]. Interpretación: es probable que el recurso de memoria devuelto funcione como búfer ascendente en caso de que el búfer interno de la instancia no sea suficiente para las asignaciones. Pregunta Q-e01e234e281bc4c6 (abierta)

En cuanto al tratamiento de errores y la seguridad frente a excepciones, el método está declarado como noexcept y es completamente seguro frente a excepciones (exception safe) [SWS_CORE_06531]. En la especificación no están previstos códigos de error específicos, objetos de error ni mensajes de diagnóstico como DET o DEM para esta llamada puramente de consulta (getter) [SWS_CORE_06531].

Respecto a la concurrencia, el método está especificado como const y seguro para subprocesos (thread-safe) [SWS_CORE_06531]. De este modo, el puntero al recurso ascendente puede consultarse en paralelo desde varios subprocesos sin sincronización externa.

La semántica funcional sigue lo establecido en [mem.res.monotonic.buffer], pero presenta la desviación normativa de que la función está definida explícitamente como noexcept en el estándar AUTOSAR Adaptive [SWS_CORE_06531]. Las clases relacionadas ara::core::SynchronizedPoolResource [SWS_CORE_00038] y ara::core::UnsynchronizedPoolResource [SWS_CORE_00056] también emplean un patrón de interfaz análogo para proporcionar el recurso ascendente.

Este texto fue creado por una IA sobre la base de los datos de especificación.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MonotonicBufferResource
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_06531
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06531@rel:R25-11#3164d448
Content hash
3164d448
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06531
Status: valid/unmigrated Version: rel:R25-11#c0075ddb Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06531@rel:R25-11#c0075ddb
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#6499d8ca2026-09-30
  • R23-11rel:R23-11#ae18043d2026-10-14
  • R24-11rel:R24-11#888f90212026-10-14
  • R25-11rel:R25-11#c0075ddb2026-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

función ~MonotonicBufferResource [SWS_CORE_06528]

~MonotonicBufferResource () noexcept override;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06528
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06528@rel:R25-11#2551525c
Content hash
2551525c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06528
Status: valid/unmigrated Version: rel:R25-11#cb9c3608 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06528@rel:R25-11#cb9c3608
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#91d465f22026-09-30
  • R23-11rel:R23-11#6339e5982026-10-14
  • R24-11rel:R24-11#e078b9482026-10-14
  • R25-11rel:R25-11#cb9c36082026-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