DEENESPTFRRUARHIKOZHNL

classe 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

Guia do utilizadorGERADO POR IA

Gerencia blocos de memória em um buffer de crescimento monótono com alocação livre de exceções e liberação agrupada.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 993d3b66f0fc Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Gerencia blocos de memória em um buffer de crescimento monótono com alocação livre de exceções e liberação agrupada.

A classe ara::core::MonotonicBufferResource disponibiliza um recurso de memória especializado para alocações rápidas e monótonas a partir de um buffer de memória fixo ou por meio de um recurso upstream. A memória solicitada é concedida progressivamente e não é liberada imediatamente em desalocações individuais, mas apenas redefinida de forma coletiva via release() ([SWS_CORE_06530]). Todas as operações são declaradas como totalmente livres de exceções, sendo a escassez de memória sinalizada pelo retorno de nullptr em vez de uma exceção ([SWS_CORE_06569]). As instâncias não são copiáveis e exigem sincronização externa em caso de acesso paralelo a partir de múltiplas threads.

Contexto

A classe ara::core::MonotonicBufferResource é um recurso de memória concreto dentro do módulo core da AUTOSAR Adaptive Platform e herda da classe base ara::core::MemoryResource. Ela adapta o conceito de std::pmr::monotonic_buffer_resource de [mem.res.monotonic.buffer], conhecido do padrão C++, para aplicações veiculares determinísticas e relevantes para a segurança. A função primária da classe consiste em atender a requisições de alocação com sobrecarga de gerenciamento mínima a partir de uma região contínua de memória, concedendo memória de forma monótona.

Como parceiros de interação atuam, por um lado, componentes chamadores, alocadores polimórficos e contêineres que solicitam blocos de memória em tempo de execução. Por outro lado, a classe interage com um recurso de memória upstream opcional de nível superior (MemoryResource). Esse recurso upstream pode ser passado por meio de construtores como [SWS_CORE_06521] e consultado através do método de acesso upstream_resource() ([SWS_CORE_06531]).

Ciclo de vida

A inicialização de ara::core::MonotonicBufferResource pode ser controlada por meio de múltiplos construtores. Além de um construtor padrão sem parâmetros ([SWS_CORE_06524]), estão disponíveis sobrecargas que recebem um recurso upstream explícito ([SWS_CORE_06521]), definem um tamanho inicial de buffer ([SWS_CORE_06525], [SWS_CORE_06522]) ou utilizam uma área de memória bruta disponibilizada externamente (void* buffer, std::size_t buffer_size) como buffer inicial ([SWS_CORE_06526], [SWS_CORE_06523]).

Em relação às relações de posse, a classe é definida como estritamente não copiável: o construtor de cópia ([SWS_CORE_06527]) e o operador de atribuição por cópia ([SWS_CORE_06529]) foram excluídos (=delete). Ao contrário do padrão ISO-14882, a classe AUTOSAR implementa, no entanto, semântica de movimento explícita por meio do construtor de movimento ([SWS_CORE_06576]) e do operador de atribuição por movimento ([SWS_CORE_06577]), ambos definidos como noexcept=default.

A destruição ocorre através do destrutor ~MonotonicBufferResource() ([SWS_CORE_06528]). Um desvio substancial da AUTOSAR em relação ao padrão consiste no fato de o destrutor não ser declarado como virtual. Por meio do método release() ([SWS_CORE_06530]), toda a memória alocada pode ser redefinida antes do término do ciclo de vida do objeto.

Na concorrência, deve-se observar uma separação estrita: o construtor sem parâmetros ([SWS_CORE_06524]), a verificação de igualdade do_is_equal() ([SWS_CORE_06571]) e a consulta upstream_resource() ([SWS_CORE_06531]) são declarados como thread-safe. Todos os construtores parametrizados ([SWS_CORE_06521], [SWS_CORE_06522], [SWS_CORE_06523], [SWS_CORE_06525], [SWS_CORE_06526]), operações de alocação ([SWS_CORE_06569], [SWS_CORE_06570]), release() ([SWS_CORE_06530]) bem como o destrutor ([SWS_CORE_06528]) não são thread-safe e exigem sincronização externa em caso de acesso paralelo.

Caminho de utilização

Um fluxo de aplicação típico inclui a disponibilização, a alocação contínua e a liberação agrupada:

  1. Instanciação: a aplicação cria uma instância, por exemplo, especificando um tamanho de buffer e um recurso upstream ([SWS_CORE_06522]) ou um buffer fixo ([SWS_CORE_06526]).
  2. Alocação: solicitações de memória são atendidas por meio do método protegido do_allocate(bytes, alignment) ([SWS_CORE_06569]). Se o buffer existente não for suficiente, a instância obtém novo buffer a partir do recurso upstream.
  3. Desalocação: chamadas de do_deallocate(p, bytes, alignment) ([SWS_CORE_06570]) não reduzem o buffer individualmente; o ponteiro interno de alocação avança monotonicamente.
  4. Redefinição do buffer: com release() ([SWS_CORE_06530]), todos os blocos de memória obtidos via upstream são liberados de uma só vez, e o buffer fica pronto para novos ciclos.
  5. Comparação de recursos: por meio de do_is_equal() ([SWS_CORE_06571]), é possível verificar se dois recursos de memória são idênticos.
Ciclo de alocação e liberação monotônicaAplicaçãoMonotonicBufferResourceUpstream-MemoryResourceErzeugungMonotonicBufferResource(initial_size, upstream)Speicher anforderndo_allocate(bytes, alignment)optInitialer Puffer unzureichendSpeicherblock anfordernallocate(bytes, alignment)Pufferspeicher bereitstellenPonteiro para área de memória (ou nullptr)Speicher freigebendo_deallocate(p, bytes, alignment)Freigabe stillschweigend ignorierenRedefinir bufferrelease()Allokierten Speicher freigeben

Diagrama de sequência: ciclo de memória típico desde a alocação, passando pela desalocação ignorada, até a redefinição coletiva via release(). Fontes: [SWS_CORE_06522], [SWS_CORE_06569], [SWS_CORE_06570], [SWS_CORE_06530]

Cenários de erro

A classe segue requisitos estritos para sistemas embarcados livres de exceções: todas as funções de membro, construtores e operadores são declarados como noexcept e oferecem total segurança contra exceções.

Em caso de erro, o comportamento desvia-se deliberadamente da biblioteca padrão:

  • Alocação malsucedida: quando uma solicitação em do_allocate() ([SWS_CORE_06569]) não pode ser atendida, nenhuma exceção std::bad_alloc é lançada, mas sim retornado um nullptr. Os chamadores devem obrigatoriamente verificar o valor de retorno quanto a nullptr.
  • Erro na desalocação: caso ocorra um erro durante a liberação em do_deallocate() ([SWS_CORE_06570]), este é silenciosamente ignorado de acordo com a especificação.
  • Destruição por meio de ponteiro base: como o destrutor ([SWS_CORE_06528]) não é virtual, a destruição por meio de um ponteiro para a classe base MemoryResource provavelmente resultaria em comportamento indefinido (interpretação: a destruição deve ocorrer por meio do tipo concreto). Pergunta Q-add18020b48f3131 (aberta)

Este guia foi gerado por um sistema de IA com base na especificação AUTOSAR Adaptive R25-11.

Mapa de membros

Diagrama de classes

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 detalhes

Selecione uma entrada no índice.

Construtores e destrutor

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 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

void * do_allocate (std::size_t bytes, std::size_t alignment) noexcept override;
do_deallocate função

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

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

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

≙ [mem.res.monotonic.buffer]

Sobrecargas = 2

Documentação dos métodos

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

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

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

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

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

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

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

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

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

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

usar

A função-membro protegida do_allocate da classe ara::core::MonotonicBufferResource serve para a alocação de regiões de memória de acordo com [mem.res.monotonic.buffer] [SWS_CORE_06569]. Ela implementa a interface puramente virtual do_allocate da classe base ara::core::MemoryResource [SWS_CORE_06566]. Como interpretação, a chamada síncrona devido à visibilidade protected provavelmente ocorre primariamente de forma indireta através dos métodos públicos de alocação da classe base. Pergunta Q-21b2da19c0fd7f8f (aberta) A função recebe o tamanho solicitado em bytes, bem como o alinhamento desejado (alignment).

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

Ao contrário do comportamento padrão do C++, a função não lança uma exceção std::bad_alloc em caso de falhas de alocação, mas retorna um nullptr em vez disso [SWS_CORE_06569]. Pela declaração com noexcept, o método é especificado como seguro contra exceções [SWS_CORE_06569]. Os chamadores devem, portanto, sempre verificar o resultado contra nullptr para detectar memória insuficiente.

Concorrência e interação

O método é especificado como não thread-safe [SWS_CORE_06569]. Se as alocações forem disparadas concorrentemente a partir de múltiplas threads, a sincronização deve ocorrer externamente através da entidade chamadora. Isso corresponde ao comportamento de ara::core::UnsynchronizedPoolResource::do_allocate [SWS_CORE_00058], enquanto ara::core::SynchronizedPoolResource::do_allocate foi projetado como thread-safe para chamadas concorrentes [SWS_CORE_00061].

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

Guia do implementador em breve (complexidade 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#51f09e1a
Content hash
51f09e1a
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

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

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

usar

A função-membro do_deallocate da classe ara::core::MonotonicBufferResource serve para a desalocação de regiões de memória de acordo com [SWS_CORE_06570]. Ela é definida por meio do arquivo de cabeçalho #include "ara/core/memory_resource.h" [SWS_CORE_06570]. A função recebe um ponteiro p para a região de memória a ser liberada, bem como os parâmetros bytes e alignment (ambos do tipo std::size_t), e não possui valor de retorno (void) [SWS_CORE_06570]. A semântica segue a definição em [mem.res.monotonic.buffer] com desvios específicos da AUTOSAR [SWS_CORE_06570].

Tratamento de erros

A função é declarada como noexcept e garante segurança contra exceções (exception safe) [SWS_CORE_06570]. Se ocorrer um erro durante a execução, ele será ignorado silenciosamente (errors will be silently ignored) [SWS_CORE_06570]. Não existem valores de retorno nem códigos de erro específicos para mensagens de erro.

Simultaneidade e restrições

Em relação à concorrência, do_deallocate é especificada como não thread-safe (not thread-safe) [SWS_CORE_06570]. Uma chamada simultânea a partir de múltiplas threads sem sincronização externa não é permitida. O método possui visibilidade protected e sobrescreve a interface puramente virtual da classe base ara::core::MemoryResource [SWS_CORE_06567]. Interpretação: As chamadas devem ser processadas normalmente por meio da interface pública de desalocação da classe base. Pergunta Q-6916292acaa8993b (aberta)

Interação

Enquanto a classe base ara::core::MemoryResource prescreve o método de desalocação com visibilidade privada [SWS_CORE_06567], MonotonicBufferResource e as classes relacionadas ara::core::SynchronizedPoolResource [SWS_CORE_00041] e ara::core::UnsynchronizedPoolResource [SWS_CORE_00059] o implementam como protegido (protected) sob tratamento de erro silencioso. Diferentemente do recurso de pool sincronizado [SWS_CORE_00041], que é thread-safe, MonotonicBufferResource exige, assim como ara::core::UnsynchronizedPoolResource [SWS_CORE_00059], a exclusão de acessos paralelos.

Esta nota de uso foi criada por uma IA e baseia-se nas definições da especificação AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade 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#d2704c19
Content hash
d2704c19
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

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

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

O método protected do_is_equal da classe ara::core::MonotonicBufferResource sobrescreve a interface puramente virtual da classe base ara::core::MemoryResource de acordo com [SWS_CORE_06571]. Ele compara a instância atual de forma síncrona com uma const MemoryResource &other passada quanto à igualdade em relação à semântica de gerenciamento de memória.

Utilização e semântica

A chamada ocorre tipicamente de forma indireta através da interface pública de MemoryResource. De acordo com [SWS_CORE_06571], o comportamento orienta-se pelo uso em [mem.res.monotonic.buffer], mas apresenta o desvio explícito de que a função é declarada como noexcept. O valor de retorno é um bool, que indica se os dois recursos são intercambiáveis ou idênticos.

Tratamento de erros e simultaneidade

  • Segurança de exceções: a função é especificada como exception safe e, devido à assinatura noexcept, não lança exceções de acordo com [SWS_CORE_06571]. Códigos de erro específicos ou mensagens DET/DEM não existem.
  • Thread-safety: a operação é classificada como thread-safe ([SWS_CORE_06571]) e pode ser executada concorrentemente.

Interação

A função implementa o contrato virtual de ara::core::MemoryResource ([SWS_CORE_06568]). Implementações semelhantes da comparação de igualdade também são encontradas em outros recursos de memória, como ara::core::SynchronizedPoolResource ([SWS_CORE_00042]) e ara::core::UnsynchronizedPoolResource ([SWS_CORE_00060]).

Este texto foi gerado por uma IA com base na especificação R25-11.

Guia do implementador em breve (complexidade 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#32884a18
Content hash
32884a18
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

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

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

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 082c843665ce 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 release() da classe ara::core::MonotonicBufferResource ([SWS_CORE_06530]) destina-se à liberação da memória gerenciada pelo recurso de buffer. A chamada ocorre de forma síncrona, não recebe parâmetros e não fornece valor de retorno (void).

Quanto ao tratamento de erros, a função é declarada como noexcept e especificada como segura contra exceções (exception safe) ([SWS_CORE_06530]). Códigos de erro específicos não existem, e nenhuma mensagem de erro é enviada para instâncias centrais de diagnóstico ou reporte.

Em relação à concorrência, release() é explicitamente classificada como não thread-safe (not thread-safe) ([SWS_CORE_06530]). O acesso concorrente à mesma instância sem sincronização externa é inadmissível. Interpretação: Devido à semântica inspirada em [mem.res.monotonic.buffer], todas as regiões de memória disponibilizadas anteriormente por meio desse recurso devem se tornar inválidas com a chamada. Pergunta Q-bd46bd9971926d95 (aberta)

Na interação dos recursos de memória de #include "ara/core/memory_resource.h", a função difere no comportamento de concorrência de ara::core::SynchronizedPoolResource::release(), que é thread-safe ([SWS_CORE_00037]), enquanto se comporta de forma análoga a ara::core::UnsynchronizedPoolResource::release(), que também não é thread-safe ([SWS_CORE_00065]).

Este texto foi gerado por uma IA com base nos requisitos de especificação da 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#712682a7
Content hash
712682a7
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

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 34a11a1fee7a 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 upstream_resource() da classe ara::core::MonotonicBufferResource retorna de forma síncrona um ponteiro para o recurso de memória superior do tipo MemoryResource* [SWS_CORE_06531]. A chamada é feita pelo cabeçalho #include "ara/core/memory_resource.h" e não recebe parâmetros [SWS_CORE_06531]. Interpretação: O recurso de memória retornado deve funcionar como um buffer upstream caso o buffer interno da instância não seja suficiente para as alocações. Pergunta Q-e01e234e281bc4c6 (aberta)

Em relação ao tratamento de erros e à segurança contra exceções, o método é declarado como noexcept e é totalmente seguro contra exceções (exception safe) [SWS_CORE_06531]. Códigos de erro específicos, objetos de erro ou mensagens de diagnóstico como DET ou DEM não estão previstos na especificação para esta chamada pura de getter [SWS_CORE_06531].

Quanto à concorrência, o método é especificado como const e thread-safe (thread-safe) [SWS_CORE_06531]. Com isso, o ponteiro para o recurso upstream pode ser consultado a partir de múltiplas threads em paralelo sem sincronização externa.

A semântica funcional segue a definição em [mem.res.monotonic.buffer], mas apresenta o desvio normativo de que a função é explicitamente definida como noexcept no padrão AUTOSAR Adaptive [SWS_CORE_06531]. Um padrão de interface análogo para disponibilização do recurso superior também é utilizado pelas classes relacionadas ara::core::SynchronizedPoolResource [SWS_CORE_00038] e ara::core::UnsynchronizedPoolResource [SWS_CORE_00056].

Este texto foi criado por uma IA com base nos dados de especificação.

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#2996a062
Content hash
2996a062
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

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