DEENESPTFRRUARHIKOZHNL

clase ara::core::MemoryResource

[SWS_CORE_06500] Upstream: RS_AP_00130

class MemoryResource {...};

Implementation of std::pmr::memory_resource type from [mem.res.class]

Header-Datei#include "ara/core/memory_resource.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core

Guía del usuarioGENERADO POR IA

Sirve como interfaz base para la asignación y liberación de memoria libres de excepciones.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: efd95fd8a941 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve como interfaz base para la asignación y liberación de memoria libres de excepciones.

La clase proporciona una interfaz base abstracta para recursos de memoria polimórficos, inspirada en la interfaz estándar de C++. A través del patrón Non-Virtual Interface, delega las solicitudes de asignación y liberación a clases de recursos derivadas [SWS_CORE_06503]. A diferencia del estándar de C++, todas las funciones de interfaz están declaradas como seguras frente a excepciones, por lo que los errores de memoria no se señalizan mediante excepciones, sino a través de la devolución de un puntero nulo [SWS_CORE_06566]. Además, las operaciones de asignación y liberación no están diseñadas por defecto para ser seguras para hilos (thread-safe).

Contexto

La clase ara::core::MemoryResource proporciona en la AUTOSAR Adaptive Platform (módulo core) una interfaz base abstracta para la gestión de memoria basada en el tipo estándar de C++ std::pmr::memory_resource. Sirve como fundamento común para estrategias de asignación intercambiables y desacopla las estructuras de datos llamantes de los mecanismos concretos de suministro de memoria. Como diferencia sustancial respecto al estándar ISO de C++, la especificación AUTOSAR prescinde por completo de excepciones dinámicas y formula estrictas garantías de noexcept para todas las operaciones [SWS_CORE_06501].

La arquitectura sigue el patrón Non-Virtual Interface (NVI): las funciones miembro públicas no virtuales definen la interfaz fija para los llamantes, mientras que el comportamiento real debe implementarse en clases derivadas mediante funciones miembro privadas puramente virtuales. Interpretación: Los recursos de memoria concretos derivan de ara::core::MemoryResource y sobrescriben las interfaces base privadas do_allocate [SWS_CORE_06566], do_deallocate [SWS_CORE_06567] y do_is_equal [SWS_CORE_06568] para proporcionar gestiones de búfer o de pool específicas de la aplicación. Pregunta Q-d09d47b0a8f6b822 (abierta)

Ciclo de vida

La instanciación de especializaciones se realiza a través del constructor por defecto sin parámetros, especificado como noexcept=default [SWS_CORE_06501]. Del mismo modo, están disponibles un constructor de copia noexcept [SWS_CORE_06502] y un operador de asignación por copia noexcept [SWS_CORE_06507]. De forma complementaria al estándar de C++, AUTOSAR define explícitamente un constructor de movimiento [SWS_CORE_06574] y un operador de asignación por movimiento [SWS_CORE_06575], ambos fijados como noexcept=default.

El ciclo de vida de las instancias polimórficas está protegido por un destructor virtual declarado como seguro frente a excepciones [SWS_CORE_06506]. En relación con la concurrencia, debe tenerse en cuenta que tanto el destructor como las funciones de asignación y liberación allocate [SWS_CORE_06503] y deallocate [SWS_CORE_06504] están especificados como no seguros para hilos (no thread-safe). Interpretación: Es de esperar que mecanismos de sincronización de nivel superior o subclases especializadas sean responsables de asignaciones y liberaciones seguras para hilos, ya que los métodos base están especificados como no seguros para hilos. Pregunta Q-adac4b6cf6e0db7c (abierta) En cambio, la comprobación de igualdad vía is_equal está diseñada explícitamente como segura para hilos [SWS_CORE_06505].

Ruta de uso

El flujo principal en la gestión de memoria consta de la solicitud, la comprobación de identidad opcional y la posterior liberación de bloques de memoria a través de la interfaz pública NVI:

  • Asignación de memoria: El llamante invoca allocate especificando el tamaño en bytes y la alineación opcional [SWS_CORE_06503]. El método delega internamente en la función privada puramente virtual do_allocate de la clase concreta [SWS_CORE_06566].
  • Comprobación de igualdad: Para determinar si dos recursos de memoria son equivalentes entre sí y si la memoria de uno puede ser liberada por el otro, el usuario invoca is_equal [SWS_CORE_06505], lo que delega en do_is_equal [SWS_CORE_06568].
  • Liberación de memoria: Una vez finalizado el uso, el bloque se devuelve a través de deallocate especificando el puntero, el tamaño en bytes y la alineación [SWS_CORE_06504], con lo cual se produce el reenvío interno a do_deallocate [SWS_CORE_06567].
Delegación de llamadas NVI en la asignación y liberación de memoriaInvocadorMemoryResourceKonkreteResourceUse Case: Speicherallokationallocate(bytes, alignment)do_allocate(bytes, alignment)altAllokation erfolgreichSpeicherzeigerSpeicherzeiger pAllokation fehlgeschlagennullptrnullptrUse Case: Speicherfreigabedeallocate(p, bytes, alignment)do_deallocate(p, bytes, alignment)RetornoRetorno

Diagrama de secuencia: delegación de llamadas mediante el patrón NVI en asignación y liberación. Fuentes: [SWS_CORE_06503], [SWS_CORE_06504], [SWS_CORE_06566], [SWS_CORE_06567]

Escenarios de error

Una característica central de la clase es la exclusión total de excepciones. Mientras que el estándar ISO de C++ prevé una excepción del tipo std::bad_alloc en caso de agotamiento, AUTOSAR se desvía deliberadamente de ello: si falla una asignación en allocate o do_allocate, la función devuelve obligatoriamente nullptr [SWS_CORE_06503], [SWS_CORE_06566]. Mediante el atributo [[nodiscard]] en allocate, se insta al llamante a recibir siempre el valor devuelto y a comprobar su validez antes de acceder.

Para las operaciones de liberación deallocate y do_deallocate, los eventuales errores al devolver la memoria se ignoran silenciosamente [SWS_CORE_06504], [SWS_CORE_06567]. No se lanzan excepciones ni se devuelven códigos de error, lo que facilita el cumplimiento de requisitos estrictos de tiempo real y seguridad en el contexto de la plataforma adaptativa.

Este texto ha sido curado por una IA y se basa exclusivamente en las especificaciones de AUTOSAR Adaptive Platform R25-11.

Mapa de miembros

Constructores y destructor

2

Operadores

1

Diagrama de clases

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

G nara__core__MemoryResource130 MemoryResource + MemoryResource() + operator=() + ~MemoryResource() + allocate() + deallocate() + is_() + do_() nara__core__MonotonicBufferResource118 MonotonicBufferResource nara__core__MonotonicBufferResource118->nara__core__MemoryResource130 nara__core__SynchronizedPoolResource481 SynchronizedPoolResource nara__core__SynchronizedPoolResource481->nara__core__MemoryResource130 nara__core__UnsynchronizedPoolResource176 UnsynchronizedPoolResource nara__core__UnsynchronizedPoolResource176->nara__core__MemoryResource130

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

MemoryResource función 3

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

Sobrecargas MemoryResource 3
MemoryResource () noexcept=default; SWS_CORE_06501
MemoryResource (const MemoryResource &other) noexcept=default; SWS_CORE_06502
MemoryResource (MemoryResource &&other) noexcept=default; SWS_CORE_06574

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

virtual ~MemoryResource () noexcept;

Métodos

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

[[nodiscard]] void * allocate (std::size_t bytes, std::size_t alignment=alignof(std::max_align_t)) noexcept;
deallocate función

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

void deallocate (void *p, std::size_t bytes, std::size_t alignment=max_align) noexcept;
do_ función 3

in [15] 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

Sobrecargas do_ 3
virtual void * do_allocate (std::size_t bytes, std::size_t alignment) noexcept=0; SWS_CORE_06566
virtual void do_deallocate (void *p, std::size_t bytes, std::size_t alignment) noexcept=0; SWS_CORE_06567
virtual bool do_is_equal (const MemoryResource &other) const noexcept=0; SWS_CORE_06568
is_ función

≙ [mem.res]

bool is_equal (const MemoryResource &other) const noexcept;

Operadores

operator= función 2

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

Sobrecargas = 2
MemoryResource & operator= (const MemoryResource &other) noexcept=default; SWS_CORE_06507
MemoryResource & operator= (MemoryResource &&other) noexcept=default; SWS_CORE_06575

Documentación de los métodos

función MemoryResource [SWS_CORE_06501]

MemoryResource () noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06501@rel:R25-11#9ff543f8
Content hash
9ff543f8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06501
Status: valid/unmigrated Version: rel:R25-11#b9f1b788 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_06501@rel:R25-11#b9f1b788
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#9befd4042026-09-30
  • R23-11rel:R23-11#f033a21e2026-10-14
  • R24-11rel:R24-11#fd91462c2026-10-14
  • R25-11rel:R25-11#b9f1b7882026-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 MemoryResource [SWS_CORE_06502] Upstream: RS_AP_00130

MemoryResource (const MemoryResource &other) noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06502
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06502@rel:R25-11#0aa636f1
Content hash
0aa636f1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06502
Status: valid/unmigrated Version: rel:R25-11#c99831b9 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_06502@rel:R25-11#c99831b9
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#54ec446b2026-09-30
  • R23-11rel:R23-11#0d9d49792026-10-14
  • R24-11rel:R24-11#95d8ae9e2026-10-14
  • R25-11rel:R25-11#c99831b92026-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 MemoryResource [SWS_CORE_06574] Upstream: RS_AP_00145

MemoryResource (MemoryResource &&other) noexcept=default;

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

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

Parameter (in)

ParameterBeschreibung
otherother MemoryResource to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_06574
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06574@rel:R25-11#0f223bc9
Content hash
0f223bc9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06574
Status: valid/unmigrated Version: rel:R25-11#95490182 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_06574@rel:R25-11#95490182
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#265cf3bf2026-09-30
  • R24-11rel:R24-11#ab47979b2026-10-14
  • R25-11rel:R25-11#954901822026-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 allocate [SWS_CORE_06503]

[[nodiscard]] void * allocate (std::size_t bytes, std::size_t alignment=alignof(std::max_align_t)) noexcept;

As per corresponding usage in [mem.res] 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: 6735dc6d085f Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función miembro allocate de la clase ara::core::MemoryResource sirve para asignar memoria lineal con un tamaño en bytes y una alineación predefinidos [SWS_CORE_06503]. Se basa en la interfaz estándar de C++ [mem.res], pero difiere significativamente en el tratamiento de excepciones [SWS_CORE_06503].

Uso y parámetros

La llamada se realiza de forma síncrona mediante los parámetros bytes (número de bytes solicitados) y el parámetro opcional alignment, que por defecto está establecido en alignof(std::max_align_t) [SWS_CORE_06503]. El valor de retorno cuenta con el atributo [[nodiscard]], por lo que el llamante debe evaluar obligatoriamente el puntero devuelto de tipo void* [SWS_CORE_06503].

Tratamiento de errores y seguridad frente a excepciones

A diferencia del comportamiento estándar, la función no lanza ninguna excepción de tipo std::bad_alloc en caso de error, sino que está declarada como noexcept y se considera segura frente a excepciones (exception safe) [SWS_CORE_06503]:

  • Éxito: devuelve un puntero válido a la región de memoria asignada conforme a [mem.res] [SWS_CORE_06503].
  • Fallo: si la asignación de memoria falla, la función devuelve en su lugar nullptr [SWS_CORE_06503]. Por lo tanto, el llamante siempre debe comprobar explícitamente si el resultado es un puntero nulo.

Concurrencia e interacción

La función está especificada como no segura para subprocesos (not thread-safe) [SWS_CORE_06503]. Por consiguiente, las llamadas paralelas sobre la misma instancia de MemoryResource requieren sincronización externa por parte del llamante. Este patrón tolerante a fallos y sin excepciones se encuentra de forma coherente en otros componentes de memoria de AUTOSAR Adaptive: así, ara::core::PolymorphicAllocator::allocate utiliza el mismo enfoque sin excepciones [SWS_CORE_06547], y también la instancia especial NullMemoryResource señaliza el agotamiento de memoria devolviendo nullptr [SWS_CORE_06563].

Esta nota de uso se ha generado de forma automatizada sobre la base de la especificación R25-11 de AUTOSAR.

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

Rückgabewert

TypBeschreibung
void *• If successful: As per corresponding usage in [mem.res] • 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_06503
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06503@rel:R25-11#218b3a70
Content hash
218b3a70
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06503
Status: valid/unmigrated Version: rel:R25-11#8ff560e7 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_06503@rel:R25-11#8ff560e7
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1fa3c3192026-09-30
  • R23-11rel:R23-11#a898640f2026-10-14
  • R24-11rel:R24-11#f8eb1c392026-10-14
  • R25-11rel:R25-11#8ff560e72026-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 deallocate [SWS_CORE_06504]

void deallocate (void *p, std::size_t bytes, std::size_t alignment=max_align) noexcept;

As per corresponding usage in [mem.res] 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: 65d739156bbe Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función deallocate de la clase ara::core::MemoryResource sirve para liberar regiones de memoria conforme a [SWS_CORE_06504]. Su uso sigue en principio el comportamiento estándar de [mem.res], pero presenta desviaciones específicas. La llamada se realiza de forma síncrona a través de la signatura void deallocate(void *p, std::size_t bytes, std::size_t alignment=max_align) noexcept, pasando el puntero p al bloque que se va a liberar, el tamaño bytes y, opcionalmente, la alineación [SWS_CORE_06504].

En cuanto al comportamiento ante errores, la función está especificada como noexcept y segura frente a excepciones (exception safe) [SWS_CORE_06504]. Si la liberación falla, los errores se ignoran silenciosamente (errors will be silently ignored) [SWS_CORE_06504]. No se lanzan excepciones ni se emiten mensajes de error a través de DET o DEM.

Respecto a la concurrencia, la función está clasificada expresamente como no segura para subprocesos (not thread-safe) [SWS_CORE_06504]. Por tanto, los accesos simultáneos a la misma instancia de recurso deben ser sincronizados externamente por el llamante.

En interacción con el concepto de asignador, esta función se corresponde con la interfaz tipificada deallocate de la clase ara::core::PolymorphicAllocator de [SWS_CORE_06548], que presenta desviaciones similares respecto a noexcept y al tratamiento silencioso de errores.

Esta nota de uso fue creada automáticamente por un asistente de curación con IA y se basa exclusivamente en los datos de especificación de AUTOSAR R25-11.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MemoryResource
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_06504
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06504@rel:R25-11#935a9bc9
Content hash
935a9bc9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06504
Status: valid/unmigrated Version: rel:R25-11#6dfbadd7 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_06504@rel:R25-11#6dfbadd7
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#9fe074b52026-09-30
  • R23-11rel:R23-11#99cc78692026-10-14
  • R24-11rel:R24-11#8ebb7f8c2026-10-14
  • R25-11rel:R25-11#6dfbadd72026-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_ [SWS_CORE_06566]

virtual void * do_allocate (std::size_t bytes, std::size_t alignment) noexcept=0;

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

Literaturverzeichnis SWS Core: [15] ISO/IEC 14882:2020, Programming languages – C++ – www.iso.org

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

El método virtual puro do_allocate de la clase ara::core::MemoryResource sirve para la asignación de bloques de memoria con un tamaño en bytes y una alineación predefinidos [SWS_CORE_06566]. Como parámetros toma la cantidad de bytes (bytes) así como la alineación requerida (alignment). En caso de asignación correcta, devuelve de forma síncrona un puntero del tipo void * a la zona de memoria reservada [SWS_CORE_06566].

Con respecto al tratamiento de errores, la función se aparta deliberadamente del estándar de C++ habitual: está declarada como noexcept y, en caso de fallos, no lanza ninguna excepción std::bad_alloc, sino que devuelve nullptr en su lugar [SWS_CORE_06566]. Por lo tanto, quienes realizan la llamada siempre deben comprobar si el resultado de la asignación es un puntero nulo.

En lo que respecta a la concurrencia, el método está especificado como not thread-safe [SWS_CORE_06566]. Las llamadas paralelas a través de la misma instancia requieren una sincronización externa, a menos que la implementación derivada contemple su propia protección. Debido a la visibilidad privada, la invocación por parte de los usuarios típicamente debería realizarse de forma indirecta a través de la interfaz de nivel superior de la clase base. Pregunta Q-5cbdabf121ed4550 (abierta)

En la interacción de la gestión de memoria, el método constituye la contrapartida directa de do_deallocate, que se encarga de la liberación de la memoria asignada e ignora silenciosamente los errores [SWS_CORE_06567]. La función de comparación do_is_equal comprueba además si dos instancias de recursos son compatibles entre sí en lo relativo a asignación y liberación [SWS_CORE_06568].

Esta nota de uso se generó de forma automatizada sobre la base de la especificación.

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

Rückgabewert

TypBeschreibung
void *• If successful: As per corresponding usage in [mem.res] • 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_06566
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06566@rel:R25-11#e7cc53c5
Content hash
e7cc53c5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06566
Status: valid/unmigrated Version: rel:R25-11#f000b35f 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_06566@rel:R25-11#f000b35f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#b88f78552026-09-30
  • R24-11rel:R24-11#1a8107de2026-10-14
  • R25-11rel:R25-11#f000b35f2026-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_ [SWS_CORE_06567]

virtual void do_deallocate (void *p, std::size_t bytes, std::size_t alignment) noexcept=0;

As per corresponding usage in [mem.res] 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: fca1a9bccecb 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 virtual pura do_deallocate de la clase ara::core::MemoryResource (declarada en ara/core/memory_resource.h) sirve, conforme a [SWS_CORE_06567], para liberar memoria previamente reservada. Recibe el puntero p a la zona de memoria, así como su tamaño bytes y la alineación requerida alignment. La semántica se corresponde en principio con el estándar de C++ [mem.res], pero presenta dos desviaciones determinantes específicas de Adaptive [SWS_CORE_06567].

En primer lugar, la función está declarada como noexcept y garantiza la seguridad frente a excepciones (exception safe) [SWS_CORE_06567]. En segundo lugar, se ignoran silenciosamente los posibles errores durante la liberación, de modo que las operaciones fallidas no deben generar mensajes de error ni interrumpir el flujo del programa [SWS_CORE_06567].

En lo relativo a la concurrencia, do_deallocate está especificado como not thread-safe y posee visibilidad private [SWS_CORE_06567]. Al tratarse de un detalle de implementación de un recurso de memoria polimórfico, debería ejecutarse de forma síncrona a través de la interfaz de llamada pública de nivel superior. Pregunta Q-3f97e122ee7fb281 (abierta) Las liberaciones concurrentes sobre el mismo recurso deben ser sincronizadas de forma autónoma por las clases derivadas en caso necesario.

En el módulo core, la función constituye la contrapartida de la asignación do_allocate [SWS_CORE_06566], la cual devuelve nullptr en lugar de una excepción en caso de error. La comparación con otros recursos se realiza a través del método do_is_equal [SWS_CORE_06568], que, a diferencia de la desasignación, está definido explícitamente como thread-safe.

Esta nota de uso se ha generado automáticamente sobre la base de la especificación de AUTOSAR R25-11.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06567
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06567@rel:R25-11#118d9f88
Content hash
118d9f88
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06567
Status: valid/unmigrated Version: rel:R25-11#d951e36f 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_06567@rel:R25-11#d951e36f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#7bf9805c2026-09-30
  • R24-11rel:R24-11#3e71af902026-10-14
  • R25-11rel:R25-11#d951e36f2026-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_ [SWS_CORE_06568]

virtual bool do_is_equal (const MemoryResource &other) const noexcept=0;

As per corresponding usage in [mem.res]

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c0f1ba532a98 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 virtual pura do_is_equal se declara en el encabezado #include "ara/core/memory_resource.h" en el espacio de nombres de ara::core::MemoryResource ([SWS_CORE_06568]). Sirve, según la especificación de C++ [mem.res], para la comparación síncrona del recurso de memoria actual con una referencia const MemoryResource &other transmitida en cuanto a su igualdad ([SWS_CORE_06568]). Dado que el método está definido con visibilidad privada (private), su invocación debería procesarse polimórficamente como detalle de implementación a través de la interfaz pública de la clase ara::core::MemoryResource ([SWS_CORE_06568]). Pregunta Q-cbe02f652b43d6ec (abierta)

En lo que respecta a la ejecución y la seguridad frente a errores, do_is_equal está declarado como exception safe, así como noexcept ([SWS_CORE_06568]). Por consiguiente, bajo ninguna circunstancia debe lanzar excepciones y señaliza el resultado directamente a través del valor de retorno booleano ([SWS_CORE_06568]). Además, el método está especificado como thread-safe, de modo que las implementaciones derivadas deben garantizar la seguridad para subprocesos incluso en comparaciones concurrentes ([SWS_CORE_06568]).

En interacción con los demás métodos virtuales de la gestión de memoria, do_is_equal completa el trío de puntos de adaptación de clases de recursos derivadas ([SWS_CORE_06568]). Mientras que la asignación de memoria do_allocate devuelve nullptr en caso de error ([SWS_CORE_06566]) y do_deallocate ignora silenciosamente los errores ([SWS_CORE_06567]), ambas funciones, a diferencia de do_is_equal, están designadas como no seguras para subprocesos (not thread-safe) ([SWS_CORE_06566], [SWS_CORE_06567]). Esto subraya el requisito especial para do_is_equal de proteger las comparaciones concurrentes de recursos ([SWS_CORE_06568]).

Este texto ha sido generado por una IA y sirve como indicación de uso sobre la base de la especificación AUTOSAR.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06568
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06568@rel:R25-11#e6a84148
Content hash
e6a84148
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06568
Status: valid/unmigrated Version: rel:R25-11#2eae7169 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_06568@rel:R25-11#2eae7169
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#6efe7dbb2026-09-30
  • R24-11rel:R24-11#111ffd482026-10-14
  • R25-11rel:R25-11#2eae71692026-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 is_ [SWS_CORE_06505]

bool is_equal (const MemoryResource &other) const noexcept;

As per corresponding usage in [mem.res]

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MemoryResource
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_06505
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06505@rel:R25-11#78fc5740
Content hash
78fc5740
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06505
Status: valid/unmigrated Version: rel:R25-11#fe89774e 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_06505@rel:R25-11#fe89774e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1cb798172026-09-30
  • R23-11rel:R23-11#f33063dc2026-10-14
  • R24-11rel:R24-11#657307fe2026-10-14
  • R25-11rel:R25-11#fe89774e2026-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_06507] Upstream: RS_AP_00130

MemoryResource & operator= (const MemoryResource &other) noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06507
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06507@rel:R25-11#e3a2b8d8
Content hash
e3a2b8d8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06507
Status: valid/unmigrated Version: rel:R25-11#63abe892 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_06507@rel:R25-11#63abe892
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#653993ea2026-09-30
  • R23-11rel:R23-11#af6672232026-10-14
  • R24-11rel:R24-11#85add1f52026-10-14
  • R25-11rel:R25-11#63abe8922026-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_06575] Upstream: RS_AP_00145

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

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

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

Parameter (in)

ParameterBeschreibung
otherother MemoryResource to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_06575
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06575@rel:R25-11#71ffd436
Content hash
71ffd436
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06575
Status: valid/unmigrated Version: rel:R25-11#8fb64462 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_06575@rel:R25-11#8fb64462
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#948a97b32026-09-30
  • R24-11rel:R24-11#617a865d2026-10-14
  • R25-11rel:R25-11#8fb644622026-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 ~MemoryResource [SWS_CORE_06506]

virtual ~MemoryResource () noexcept;

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MemoryResource
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_06506
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06506@rel:R25-11#7746e403
Content hash
7746e403
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06506
Status: valid/unmigrated Version: rel:R25-11#2e224948 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_06506@rel:R25-11#2e224948
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1cb788282026-09-30
  • R23-11rel:R23-11#2af784a02026-10-14
  • R24-11rel:R24-11#5a037c852026-10-14
  • R25-11rel:R25-11#2e2249482026-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