DEENESPTFRRUARHIKOZHNL

classe 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

Guia do utilizadorGERADO POR IA

Serve como interface base para alocação e liberação de memória livres de exceções.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: efd95fd8a941 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como interface base para alocação e liberação de memória livres de exceções.

A classe disponibiliza uma interface base abstrata para recursos de memória polimórficos, inspirada na interface padrão C++. Por meio do padrão Non-Virtual Interface, ela delega requisições de alocação e liberação para classes de recursos derivadas [SWS_CORE_06503]. Ao contrário do padrão C++, todas as funções de interface são declaradas como seguras contra exceções, motivo pelo qual erros de memória não são sinalizados por exceção, mas sim pelo retorno de um ponteiro nulo [SWS_CORE_06566]. Além disso, as operações de alocação e liberação são projetadas, por padrão, como não thread-safe.

Contexto

Na AUTOSAR Adaptive Platform (módulo core), a classe ara::core::MemoryResource fornece uma interface base abstrata para o gerenciamento de memória, baseada no tipo padrão C++ std::pmr::memory_resource. Ela serve como fundamento comum para estratégias de alocação intercambiáveis e desacopla as estruturas de dados chamadoras dos mecanismos concretos de disponibilização de memória. Como diferença essencial em relação ao padrão ISO C++, a especificação AUTOSAR dispensa completamente exceções dinâmicas e formula garantias estritas de noexcept para todas as operações [SWS_CORE_06501].

A arquitetura segue o padrão Non-Virtual Interface (NVI): funções-membro públicas e não virtuais definem a interface fixa para os chamadores, enquanto o comportamento real deve ser implementado em classes derivadas por meio de funções-membro privadas e puramente virtuais. Interpretação: recursos de memória concretos derivam de ara::core::MemoryResource e sobrescrevem as interfaces base privadas do_allocate [SWS_CORE_06566], do_deallocate [SWS_CORE_06567] bem como do_is_equal [SWS_CORE_06568] para disponibilizar gerenciamentos de buffers ou pools específicos da aplicação. Pergunta Q-d09d47b0a8f6b822 (aberta)

Ciclo de vida

A instanciação de especializações ocorre por meio do construtor padrão sem parâmetros, que está especificado como noexcept=default [SWS_CORE_06501]. Da mesma forma, estão disponíveis um construtor de cópia noexcept [SWS_CORE_06502] e um operador de atribuição por cópia noexcept [SWS_CORE_06507]. Como complemento ao padrão C++, o AUTOSAR define explicitamente um construtor de movimentação [SWS_CORE_06574] e um operador de atribuição por movimentação [SWS_CORE_06575], ambos definidos como noexcept=default.

O ciclo de vida de instâncias polimórficas é protegido por um destrutor virtual declarado como seguro contra exceções [SWS_CORE_06506]. Em relação à concorrência, deve-se observar que tanto o destrutor quanto as funções de alocação e liberação allocate [SWS_CORE_06503] e deallocate [SWS_CORE_06504] estão especificados como não thread-safe. Interpretação: para alocações e liberações thread-safe, mecanismos de sincronização de nível superior ou subclasses especializadas devem ser responsáveis, uma vez que os métodos base estão especificados como não thread-safe. Pergunta Q-adac4b6cf6e0db7c (aberta) Já a verificação de igualdade via is_equal foi projetada explicitamente como thread-safe [SWS_CORE_06505].

Caminho de utilização

O fluxo primário no gerenciamento de memória consiste na requisição, na verificação opcional de identidade e na posterior liberação de blocos de memória por meio da interface pública NVI:

  • Alocação de memória: o chamador invoca allocate informando o tamanho em bytes e o alinhamento opcional [SWS_CORE_06503]. O método delega internamente para a função privada puramente virtual do_allocate da classe concreta [SWS_CORE_06566].
  • Verificação de igualdade: para determinar se dois recursos de memória são equivalentes entre si e se a memória de um pode ser liberada pelo outro, o usuário chama is_equal [SWS_CORE_06505], o que delega para do_is_equal [SWS_CORE_06568].
  • Liberação de memória: após o término do uso, o bloco é devolvido via deallocate informando o ponteiro, o tamanho em bytes e o alinhamento [SWS_CORE_06504], realizando o encaminhamento interno para do_deallocate [SWS_CORE_06567].
Delegação de chamada NVI na alocação e liberação de memóriaChamadorMemoryResourceKonkreteResourceUse 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 sequência: delegação de chamadas por meio do padrão NVI na alocação e liberação. Fontes: [SWS_CORE_06503], [SWS_CORE_06504], [SWS_CORE_06566], [SWS_CORE_06567]

Cenários de erro

Uma característica central da classe é a abolição total de exceções. Enquanto o padrão ISO C++ prevê uma exceção do tipo std::bad_alloc em caso de esgotamento, o AUTOSAR diverge deliberadamente disso: se uma alocação falhar em allocate ou do_allocate, a função retornará obrigatoriamente nullptr [SWS_CORE_06503], [SWS_CORE_06566]. Pelo atributo [[nodiscard]] em allocate, o chamador é instruído a sempre receber o valor de retorno e verificar sua validade antes do acesso.

Para as operações de liberação deallocate e do_deallocate, aplica-se a regra de que eventuais erros na devolução da memória são silenciosamente ignorados [SWS_CORE_06504], [SWS_CORE_06567]. Não são lançadas exceções nem retornados códigos de erro, o que facilita o cumprimento de requisitos rígidos de tempo real e segurança no contexto da plataforma adaptativa.

Este texto foi preparado por uma IA e baseia-se exclusivamente nas especificações da AUTOSAR Adaptive Platform R25-11.

Mapa de membros

Construtores e destrutor

2

Operadores

1

Diagrama de classes

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 detalhes

Selecione uma entrada no índice.

Construtores e destrutor

MemoryResource função 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 função

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 função

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_ função 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_ função

≙ [mem.res]

bool is_equal (const MemoryResource &other) const noexcept;

Operadores

operator= função 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

Documentação dos métodos

função 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#93721449
Content hash
93721449
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

função 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#77635064
Content hash
77635064
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

função 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#98351638
Content hash
98351638
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

função 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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 6735dc6d085f Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função-membro allocate da classe ara::core::MemoryResource destina-se à alocação de memória linear com tamanho em bytes e alinhamento pré-definidos [SWS_CORE_06503]. Ela orienta-se pela interface padrão C++ [mem.res], mas desvia significativamente no tratamento de exceções [SWS_CORE_06503].

Utilização e parâmetros

A chamada ocorre de forma síncrona por meio dos parâmetros bytes (número de bytes a serem solicitados) e o opcional alignment, que é configurado por padrão como alignof(std::max_align_t) [SWS_CORE_06503]. O valor de retorno possui o atributo [[nodiscard]], razão pela qual o ponteiro fornecido do tipo void* deve obrigatoriamente ser avaliado no chamador [SWS_CORE_06503].

Tratamento de erros e segurança de exceções

Diferentemente do comportamento padrão, a função não lança exceção do tipo std::bad_alloc em caso de erro, mas é declarada como noexcept e considerada segura contra exceções (exception safe) [SWS_CORE_06503]:

  • Sucesso: Retorna um ponteiro válido para a região de memória alocada de acordo com [mem.res] [SWS_CORE_06503].
  • Falha: Se a alocação de memória falhar, a função retorna nullptr em vez disso [SWS_CORE_06503]. O chamador deve, portanto, verificar sempre explicitamente se o resultado é um ponteiro nulo.

Concorrência e interação

A função é especificada como não thread-safe (not thread-safe) [SWS_CORE_06503]. Chamadas paralelas na mesma instância de MemoryResource exigem, consequentemente, sincronização externa pelo chamador. Esse padrão tolerante a falhas e livre de exceções é encontrado consistentemente em outros componentes de memória da AUTOSAR Adaptive: assim, ara::core::PolymorphicAllocator::allocate utiliza a mesma abordagem sem exceções [SWS_CORE_06547], e a instância especial NullMemoryResource também sinaliza esgotamento de memória retornando nullptr [SWS_CORE_06563].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R25-11.

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#d9a51dc2
Content hash
d9a51dc2
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

função 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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 65d739156bbe Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função deallocate da classe ara::core::MemoryResource serve para a liberação de regiões de memória de acordo com [SWS_CORE_06504]. O uso segue fundamentalmente o comportamento padrão de [mem.res], mas apresenta desvios específicos. A chamada ocorre de forma síncrona por meio da assinatura void deallocate(void *p, std::size_t bytes, std::size_t alignment=max_align) noexcept, sendo passados o ponteiro p para o bloco a ser liberado, o tamanho bytes e, opcionalmente, o alinhamento [SWS_CORE_06504].

Quanto ao comportamento em caso de erro, a função é especificada como noexcept e segura contra exceções (exception safe) [SWS_CORE_06504]. Se a liberação falhar, os erros serão ignorados silenciosamente (errors will be silently ignored) [SWS_CORE_06504]. Nenhuma exceção é lançada e nenhuma mensagem de erro é emitida via DET ou DEM.

Em relação à concorrência, a função é categorizada expressamente como não thread-safe (not thread-safe) [SWS_CORE_06504]. Acessos simultâneos à mesma instância de recurso devem, portanto, ser sincronizados externamente pelo chamador.

Na integração com o conceito de alocador, esta função corresponde à interface tipada deallocate da classe ara::core::PolymorphicAllocator de [SWS_CORE_06548], que apresenta desvios semelhantes em relação a noexcept e ao tratamento silencioso de erros.

Esta nota de uso foi criada automaticamente por um assistente de curadoria de IA e baseia-se exclusivamente nos dados de especificação da 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#04829e6c
Content hash
04829e6c
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

função 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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: fa83e476b05d Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método puramente virtual do_allocate da classe ara::core::MemoryResource destina-se à alocação de blocos de memória com tamanho em bytes e alinhamento predefinidos [SWS_CORE_06566]. Como parâmetros, ele aceita a quantidade de bytes (bytes) bem como o alinhamento exigido (alignment). Em caso de alocação bem-sucedida, ele retorna sincronamente um ponteiro do tipo void * para a área de memória reservada [SWS_CORE_06566].

Com relação ao tratamento de erros, a função desvia deliberadamente do padrão C++ regular: ela é declarada como noexcept e, em caso de falhas, não lança uma exceção std::bad_alloc, mas retorna nullptr em seu lugar [SWS_CORE_06566]. Os chamadores devem, portanto, sempre verificar o resultado da alocação quanto a um ponteiro nulo.

Em relação à concorrência, o método é especificado como not thread-safe [SWS_CORE_06566]. Chamadas paralelas sobre a mesma instância requerem sincronização externa, a menos que a implementação derivada forneça sua própria proteção. Devido à visibilidade privada, a chamada pelos usuários normalmente deve ocorrer de forma indireta por meio da interface de nível superior da classe base. Pergunta Q-5cbdabf121ed4550 (aberta)

Na interação do gerenciamento de memória, o método forma o equivalente direto a do_deallocate, que é responsável pela liberação da memória alocada e ignora erros silenciosamente [SWS_CORE_06567]. A função de comparação do_is_equal verifica, além disso, se duas instâncias de recursos são compatíveis entre si em relação à alocação e à liberação [SWS_CORE_06568].

Esta nota de utilização foi gerada automaticamente com base na especificação.

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#5c4edb7b
Content hash
5c4edb7b
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

função 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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: fca1a9bccecb Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função membro puramente virtual do_deallocate da classe ara::core::MemoryResource (declarada em ara/core/memory_resource.h) destina-se, de acordo com [SWS_CORE_06567], à liberação de memória previamente reservada. Ela recebe o ponteiro p para a área de memória, bem como seu tamanho bytes e o alinhamento exigido alignment. A semântica corresponde fundamentalmente ao padrão C++ [mem.res], apresentando contudo dois desvios significativos específicos da Adaptive [SWS_CORE_06567].

Em primeiro lugar, a função é declarada como noexcept e garante segurança contra exceções (exception safe) [SWS_CORE_06567]. Em segundo lugar, eventuais erros durante a liberação são ignorados silenciosamente, de modo que operações com falha não devem disparar mensagens de erro nem interromper o fluxo do programa [SWS_CORE_06567].

Em relação à concorrência, do_deallocate é especificado como not thread-safe e possui visibilidade private [SWS_CORE_06567]. Como detalhe de implementação de um recurso de memória polimórfico, ele deve ser executado de forma síncrona por meio da interface de chamada pública de nível superior. Pergunta Q-3f97e122ee7fb281 (aberta) Liberações concorrentes sobre o mesmo recurso devem ser sincronizadas de forma autônoma pelas classes derivadas, se necessário.

No módulo core, a função constitui a contrapartida para a alocação do_allocate [SWS_CORE_06566], que em caso de erro fornece nullptr em vez de uma exceção. A comparação com outros recursos ocorre por meio do método do_is_equal [SWS_CORE_06568], que, ao contrário da desalocação, é explicitamente definido como thread-safe.

Esta nota de uso foi gerada automaticamente com base na especificação do 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#d58aaab6
Content hash
d58aaab6
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

função do_ [SWS_CORE_06568]

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

As per corresponding usage in [mem.res]

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: c0f1ba532a98 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função-membro puramente virtual do_is_equal é declarada no cabeçalho #include "ara/core/memory_resource.h" no espaço de nomes de ara::core::MemoryResource ([SWS_CORE_06568]). De acordo com a especificação C++ [mem.res], ela serve para a comparação síncrona de igualdade do recurso de memória atual com uma referência transmitida const MemoryResource &other ([SWS_CORE_06568]). Como o método está definido com visibilidade privada (private), presume-se que a sua chamada seja processada como detalhe de implementação de forma polimórfica por meio da interface pública da classe ara::core::MemoryResource ([SWS_CORE_06568]). Pergunta Q-cbe02f652b43d6ec (aberta)

Em relação à execução e segurança contra falhas, do_is_equal está declarada como exception safe e noexcept ([SWS_CORE_06568]). Portanto, ela não pode lançar exceções sob nenhuma circunstância e sinaliza o resultado diretamente por meio do valor de retorno booleano ([SWS_CORE_06568]). Além disso, o método é especificado como thread-safe, de modo que implementações derivadas também devem garantir thread-safety em comparações concorrentes ([SWS_CORE_06568]).

Na interação com os demais métodos virtuais do gerenciamento de memória, do_is_equal completa o trio de pontos de customização das classes de recursos derivadas ([SWS_CORE_06568]). Enquanto a alocação de memória do_allocate fornece nullptr em caso de falha ([SWS_CORE_06566]) e do_deallocate ignora falhas silenciosamente ([SWS_CORE_06567]), ambas as funções são designadas, ao contrário de do_is_equal, como não thread-safe (not thread-safe) ([SWS_CORE_06566], [SWS_CORE_06567]). Isso enfatiza o requisito especial de do_is_equal para proteger comparações concorrentes de recursos ([SWS_CORE_06568]).

Este texto foi gerado por uma IA e serve como nota de uso baseada na especificação 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#b44d2c90
Content hash
b44d2c90
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

função 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#b0d685bb
Content hash
b0d685bb
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

função 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#a0d87b75
Content hash
a0d87b75
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

função 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#0f1b7361
Content hash
0f1b7361
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

função ~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#ee1a883b
Content hash
ee1a883b
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