DEENESPTFRRUARHIKOZHNL

classe ara::core::SynchronizedPoolResource

[SWS_CORE_00029] Upstream: RS_AP_00130

class SynchronizedPoolResource :           public MemoryResource {...};

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

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

Guia do utilizadorGERADO POR IA

Fornece um recurso de memória de pool seguro para threads para alocação e liberação eficientes de blocos de memória.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 8c6c1308f3f6 Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Fornece um recurso de memória de pool seguro para threads para alocação e liberação eficientes de blocos de memória.

A classe ara::core::SynchronizedPoolResource disponibiliza um recurso de memória seguro para threads que processa alocações por meio de pools internos e solicita memória adicional de um recurso upstream hierarquicamente superior ([SWS_CORE_00030]). Ao contrário do padrão C++, a alocação de memória não lança exceções em caso de falha, retornando nullptr em seu lugar ([SWS_CORE_00061]). Operações de cópia são completamente impedidas, enquanto operações de movimentação são explicitamente suportadas. Além disso, o destrutor não é virtual, razão pela qual as instâncias não devem ser liberadas polimorficamente por meio de um ponteiro da classe base.

Contexto

A classe ara::core::SynchronizedPoolResource fornece um recurso de memória seguro para threads para a AUTOSAR Adaptive Platform dentro do módulo core. Ela baseia-se no conceito de std::pmr::synchronized_pool_resource segundo o padrão C++ [mem.res.pool] e deriva publicamente da classe base MemoryResource. Sua tarefa principal consiste em gerenciar blocos de memória por meio de pools internos de acordo com classes de tamanho, a fim de processar alocações recorrentes de forma eficiente e concorrente. Se o suprimento interno não for suficiente, a instância obtém blocos de memória maiores de um recurso de memória upstream hierarquicamente superior ([SWS_CORE_00038]).

Entre os parceiros de interação típicos estão threads concorrentes de uma aplicação que solicitam alocações, o SynchronizedPoolResource como gerenciador de pool intermediário, bem como uma MemoryResource subjacente como fonte upstream. Todas as funções centrais de acesso e gerenciamento, como do_allocate, do_deallocate, options e release, foram projetadas para serem seguras para threads ([SWS_CORE_00061], [SWS_CORE_00041], [SWS_CORE_00039], [SWS_CORE_00037]).

SynchronizedPoolResourceKontext Client Aufrufende Threads Pool ara::core::SynchronizedPoolResource Client->Pool Zuteilung / Freigabe Upstream Upstream MemoryResource Pool->Upstream Chunk-Allokation / release()

Diagrama de contexto: interação de threads concorrentes da aplicação, do recurso de pool e da fonte de memória upstream. Fontes: [SWS_CORE_00030], [SWS_CORE_00038].

Ciclo de vida

A instanciação de SynchronizedPoolResource pode ser realizada por meio de várias sobrecargas de construtor. Se tanto opções de alocação (PoolOptions) quanto um recurso upstream estiverem disponíveis, a inicialização garante total segurança contra exceções e é declarada como noexcept ([SWS_CORE_00030]). Além disso, existem construtores sem parâmetros ([SWS_CORE_00031]), apenas com ponteiro upstream ([SWS_CORE_00032]) ou com puras opções de pool ([SWS_CORE_00033]). Interpretação: se nenhum ponteiro upstream for passado, a implementação provavelmente recorre a um recurso de memória padrão específico da plataforma. Pergunta Q-5dafb414672249dc (aberta)

Em relação às relações de posse, a classe exclui estritamente a cópia: tanto o construtor de cópia ([SWS_CORE_00034]) quanto o operador de atribuição por cópia ([SWS_CORE_00036]) estão eliminados (=delete). No entanto, em contraste com o padrão ISO C++17, o AUTOSAR define explicitamente a semântica de movimento para esta classe: um construtor de movimento ([SWS_CORE_00043]) e um operador de atribuição por movimento ([SWS_CORE_00044]) estão disponíveis, cada um como noexcept=default.

Um aspecto central da destruição é o desvio do comportamento padrão: o destrutor ~SynchronizedPoolResource() é explicitamente não virtual ([SWS_CORE_00035]). Interpretação: como o destrutor não é virtual, uma destruição polimórfica por meio de um ponteiro da classe base MemoryResource* provavelmente levaria a um comportamento indefinido; portanto, as instâncias devem ser sempre destruídas por meio de seu tipo concreto. Pergunta Q-5add73880279b024 (aberta) Com a chamada de release(), toda a memória alocada também pode ser devolvida ao recurso upstream, enquanto o objeto de recurso permanece intacto ([SWS_CORE_00037]).

Caminho de utilização

O fluxo típico engloba a inicialização, a alocação e liberação repetidas de blocos de memória, bem como a limpeza final:

  1. Inicialização: A aplicação cria a instância especificando parâmetros de configuração e um recurso de memória hierarquicamente superior ([SWS_CORE_00030]). As configurações ativas podem ser consultadas via options() ([SWS_CORE_00039]), e o ponteiro upstream via upstream_resource() ([SWS_CORE_00038]).
  2. Alocação de memória: As solicitações de memória são processadas de forma protegida via do_allocate ([SWS_CORE_00061]). Interpretação: a chamada no código da aplicação normalmente não ocorre diretamente por meio do método protegido do_allocate, mas sim pela interface pública herdada allocate da classe base MemoryResource. Pergunta Q-1542a47cdff73dfb (aberta)
  3. Verificação de identidade: Por meio de do_is_equal, é possível determinar se dois recursos de memória são equivalentes entre si ([SWS_CORE_00042]).
  4. Liberação: Áreas de memória individuais são devolvidas ao pool via do_deallocate ([SWS_CORE_00041]). Se necessário, toda a memória de todos os pools pode ser devolvida em conjunto ao recurso upstream por meio de release() ([SWS_CORE_00037]).
Fluxo de utilização de SynchronizedPoolResourceAplicaçãoSynchronizedPoolResourceUpstreamResourceUse Case: InitialisierungSynchronizedPoolResource(opts, &upstream)Use Case: Allokationdo_allocate(bytes, alignment)optPool esgotado / chunk necessárioSpeicher anfordernSpeicherbereichSpeicherzeiger / nullptrUse Case: Liberação e limpezado_deallocate(p, bytes, alignment)release()Retornar memória ao upstream

Diagrama de sequência: fluxo típico de inicialização, solicitação de memória, liberação e limpeza por meio de recursos upstream. Fontes: [SWS_CORE_00030], [SWS_CORE_00061], [SWS_CORE_00041], [SWS_CORE_00037].

Cenários de erro

A AUTOSAR Adaptive Platform desvia-se deliberadamente das convenções de exceção do padrão C++ no tratamento de erros:

  • Erro de alocação: Enquanto o ISO C++ prevê o lançamento de std::bad_alloc em caso de esgotamento, do_allocate é definido como noexcept no AUTOSAR. Se nenhum bloco de memória adequado puder ser disponibilizado, o método retorna obrigatoriamente um ponteiro nulo (nullptr) em seu lugar ([SWS_CORE_00061]). Os chamadores devem, portanto, verificar cada valor de retorno de alocação em relação a nullptr.
  • Erro de desalocação: O método do_deallocate também é noexcept. Se ocorrer um erro durante a devolução de um bloco de memória, este é silenciosamente ignorado de acordo com a especificação ([SWS_CORE_00041]).
  • Riscos de construção: Enquanto o construtor com opções e recurso upstream é seguro quanto a exceções ([SWS_CORE_00030]), os construtores sem indicação de upstream ou sem opções são classificados como não seguros quanto a exceções («not exception safe») ([SWS_CORE_00031], [SWS_CORE_00032], [SWS_CORE_00033]). Interpretação: se a disponibilização interna de estruturas de gerenciamento de pool falhar nesses construtores, a criação do objeto pode falhar. Pergunta (aberta)

Este guia de classe resume a especificação de ara::core::SynchronizedPoolResource para a AUTOSAR Adaptive Release R25-11.

Mapa de membros

Diagrama de classes

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

G nara__core__SynchronizedPoolResource481 SynchronizedPoolResource + SynchronizedPoolResource() + operator=() + ~SynchronizedPoolResource() + options() + release() + upstream_resource() + do_allocate() + do_deallocate() + do_is_equal() nara__core__MemoryResource130 MemoryResource nara__core__SynchronizedPoolResource481->nara__core__MemoryResource130

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

≙ [mem.res.pool]

Sobrecargas SynchronizedPoolResource 6
SynchronizedPoolResource (const PoolOptions &opts, MemoryResource *upstream) noexcept; SWS_CORE_00030
SynchronizedPoolResource (); SWS_CORE_00031
explicit SynchronizedPoolResource (MemoryResource *upstream); SWS_CORE_00032
explicit SynchronizedPoolResource (const PoolOptions &opts); SWS_CORE_00033
SynchronizedPoolResource (const SynchronizedPoolResource &)=delete; SWS_CORE_00034
SynchronizedPoolResource (SynchronizedPoolResource &&other) noexcept=default; SWS_CORE_00043

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

~SynchronizedPoolResource () 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.pool]

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

≙ [mem.res.pool]

bool do_is_equal (const MemoryResource &other) const noexcept override;
options função

≙ [mem.res.pool]

PoolOptions options () const noexcept;
release função

≙ [mem.res.pool]

void release () noexcept;

≙ [mem.res.pool]

MemoryResource * upstream_resource () const noexcept;

Operadores

operator= função 2

≙ [mem.res.pool]

Sobrecargas = 2

Documentação dos métodos

função SynchronizedPoolResource [SWS_CORE_00030]

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

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00030
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00030@rel:R25-11#61456b59
Content hash
61456b59
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00030
Status: valid/unmigrated Version: rel:R25-11#1501c053 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_00030@rel:R25-11#1501c053
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f8089aa92026-09-30
  • R24-11rel:R24-11#faeb22342026-10-14
  • R25-11rel:R25-11#1501c0532026-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 SynchronizedPoolResource [SWS_CORE_00031]

SynchronizedPoolResource ();

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00031
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00031@rel:R25-11#db4fdc69
Content hash
db4fdc69
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00031
Status: valid/unmigrated Version: rel:R25-11#63c60a5b 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_00031@rel:R25-11#63c60a5b
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#6a93df772026-09-30
  • R24-11rel:R24-11#be6b67802026-10-14
  • R25-11rel:R25-11#63c60a5b2026-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 SynchronizedPoolResource [SWS_CORE_00032]

explicit SynchronizedPoolResource (MemoryResource *upstream);

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00032
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00032@rel:R25-11#57c193bf
Content hash
57c193bf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00032
Status: valid/unmigrated Version: rel:R25-11#067110c6 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_00032@rel:R25-11#067110c6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f8e2d78a2026-09-30
  • R24-11rel:R24-11#27e7852a2026-10-14
  • R25-11rel:R25-11#067110c62026-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 SynchronizedPoolResource [SWS_CORE_00033]

explicit SynchronizedPoolResource (const PoolOptions &opts);

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00033
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00033@rel:R25-11#986a7dc5
Content hash
986a7dc5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00033
Status: valid/unmigrated Version: rel:R25-11#5b044f0f 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_00033@rel:R25-11#5b044f0f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#c83c02272026-09-30
  • R24-11rel:R24-11#7830448d2026-10-14
  • R25-11rel:R25-11#5b044f0f2026-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 SynchronizedPoolResource [SWS_CORE_00034]

SynchronizedPoolResource (const SynchronizedPoolResource &)=delete;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00034
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00034@rel:R25-11#7681e28a
Content hash
7681e28a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00034
Status: valid/unmigrated Version: rel:R25-11#0d5ed9ad 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_00034@rel:R25-11#0d5ed9ad
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e9c9708e2026-09-30
  • R24-11rel:R24-11#599cf30b2026-10-14
  • R25-11rel:R25-11#0d5ed9ad2026-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 SynchronizedPoolResource [SWS_CORE_00043] Upstream: RS_AP_00145

SynchronizedPoolResource (SynchronizedPoolResource &&other) noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00043
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00043@rel:R25-11#0f342f51
Content hash
0f342f51
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00043
Status: valid/unmigrated Version: rel:R25-11#107ef101 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_00043@rel:R25-11#107ef101
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e85c46f22026-09-30
  • R24-11rel:R24-11#ee10a8d92026-10-14
  • R25-11rel:R25-11#107ef1012026-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_00061]

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

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

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

Uso e semântica de alocação

A função-membro do_allocate da classe ara::core::SynchronizedPoolResource do arquivo de cabeçalho #include "ara/core/memory_resource.h" destina-se à alocação de áreas de memória com o tamanho em bytes bytes e alinhamento alignment especificados [SWS_CORE_00061]. Em caso de sucesso, a chamada síncrona retorna, conforme [mem.res.pool], um ponteiro válido do tipo void* para o bloco de memória alocado [SWS_CORE_00061].

Tratamento de erros e desvios

Em relação ao comportamento de erro, a implementação desvia-se explicitamente dos requisitos de [mem.res.pool]: o método é declarado como noexcept e não lança exceção std::bad_alloc [SWS_CORE_00061]. Em caso de falha da solicitação de memória, o ponteiro retornado é, em vez disso, obrigatoriamente nullptr [SWS_CORE_00061]. Portanto, os chamadores devem obrigatoriamente verificar se o valor de retorno é um ponteiro nulo para capturar erros de alocação de forma confiável.

Concorrência e interação

A função é especificada como exception safe e, ao contrário de outros recursos de memória, como thread-safe [SWS_CORE_00061]. Devido à sua visibilidade protected, na prática ela deve funcionar principalmente como uma sobrescrita interna da interface base puramente virtual do_allocate de ara::core::MemoryResource [SWS_CORE_06566]. Pergunta Q-95ba181693426bfc (aberta) Enquanto ara::core::SynchronizedPoolResource protege o acesso concorrente [SWS_CORE_00061], implementações comparáveis como ara::core::UnsynchronizedPoolResource::do_allocate [SWS_CORE_00058] e ara::core::MonotonicBufferResource::do_allocate [SWS_CORE_06569] são definidas como not thread-safe.

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

Guia do implementador em breve (complexidade I1)

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

Rückgabewert

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00061
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00061@rel:R25-11#d162133b
Content hash
d162133b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00061
Status: valid/unmigrated Version: rel:R25-11#7fd00d51 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_00061@rel:R25-11#7fd00d51
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e22e6db22026-09-30
  • R24-11rel:R24-11#2f88c08f2026-10-14
  • R25-11rel:R25-11#7fd00d512026-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_00041]

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

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: b07cac0de0a1 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 protegida do_deallocate da classe ara::core::SynchronizedPoolResource destina-se à liberação de uma área de memória previamente alocada conforme [SWS_CORE_00041]. Sua chamada ocorre de forma síncrona e espera como parâmetros um ponteiro p para a área de memória, o tamanho bytes em bytes e o alinhamento de memória alignment. Como a função-membro é declarada com visibilidade protected, ela provavelmente não é chamada diretamente no código de aplicação regular, mas executada por meio da interface pública de desalocação da classe base superior ara::core::MemoryResource ([SWS_CORE_06567]). Pergunta Q-badea921c907c214 (aberta)

Em relação ao tratamento de erros e ao comportamento de exceção, a especificação define dois desvios obrigatórios do padrão:

  • A função é declarada como noexcept e totalmente segura para exceções (exception safe) ([SWS_CORE_00041]).
  • Se a desalocação não for bem-sucedida, os erros ocorridos serão ignorados silenciosamente ([SWS_CORE_00041]). Não há lançamento de exceção nem retorno de código de erro.

No âmbito da concorrência, a implementação em ara::core::SynchronizedPoolResource destaca-se por ser explicitamente especificada como segura para threads (thread-safe) ([SWS_CORE_00041]). Assim, ela é adequada para a chamada simultânea a partir de múltiplas threads. Nisso ela se diferencia substancialmente dos recursos relacionados ara::core::UnsynchronizedPoolResource ([SWS_CORE_00059]) e ara::core::MonotonicBufferResource ([SWS_CORE_06570]), que são classificados como não seguros para threads.

Este texto foi gerado por uma IA 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::SynchronizedPoolResource
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_00041
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00041@rel:R25-11#bc8a6ebd
Content hash
bc8a6ebd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00041
Status: valid/unmigrated Version: rel:R25-11#c6457f44 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_00041@rel:R25-11#c6457f44
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#874775232026-09-30
  • R24-11rel:R24-11#0c42970f2026-10-14
  • R25-11rel:R25-11#c6457f442026-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_00042]

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

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: c89ab0c97360 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 protegida do_is_equal verifica a igualdade de uma instância de ara::core::SynchronizedPoolResource com outro recurso de memória [SWS_CORE_00042]. Ela sobrescreve o método puramente virtual da classe base de ara::core::MemoryResource [SWS_CORE_06568] de acordo com a especificação para recursos de pool em [mem.res.pool].

Uso e interface: Como parâmetro, é passada uma referência para outro objeto ara::core::MemoryResource (const MemoryResource &other). O valor de retorno do tipo bool indica se ambos os recursos são equivalentes. Interpretação: Devido à visibilidade protected, a função não é chamada diretamente no fluxo regular da aplicação, mas é executada por meio do método público de comparação da classe base. Pergunta Q-29fb2980d1241fae (aberta)

Tratamento de erros e segurança: O método é declarado com o identificador noexcept e especificado como exception safe [SWS_CORE_00042]. Não ocorrem exceções nem códigos de erro específicos. A execução ocorre de forma síncrona.

Concorrência: De acordo com [SWS_CORE_00042], do_is_equal é especificado como thread-safe, de modo que comparações simultâneas entre várias threads são permitidas sem sincronização externa adicional.

Interação: A função constitui a contraparte thread-safe da implementação em ara::core::UnsynchronizedPoolResource [SWS_CORE_00060]. Da mesma forma, ara::core::MonotonicBufferResource fornece uma sobrescrita correspondente, que também é identificada como noexcept [SWS_CORE_06571].

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

Guia do implementador em breve (complexidade I1)

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00042
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00042@rel:R25-11#53adb8cb
Content hash
53adb8cb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00042
Status: valid/unmigrated Version: rel:R25-11#6ecf1a68 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_00042@rel:R25-11#6ecf1a68
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#0fcf0b452026-09-30
  • R24-11rel:R24-11#d999b0d62026-10-14
  • R25-11rel:R25-11#6ecf1a682026-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_00036]

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

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00036
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00036@rel:R25-11#f2a99cfa
Content hash
f2a99cfa
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00036
Status: valid/unmigrated Version: rel:R25-11#71efdb4a 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_00036@rel:R25-11#71efdb4a
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e3bdcb9c2026-09-30
  • R24-11rel:R24-11#fc1cd0a02026-10-14
  • R25-11rel:R25-11#71efdb4a2026-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_00044] Upstream: RS_AP_00145

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

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00044
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00044@rel:R25-11#e004f785
Content hash
e004f785
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00044
Status: valid/unmigrated Version: rel:R25-11#4a2251b2 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_00044@rel:R25-11#4a2251b2
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#2845c0fb2026-09-30
  • R24-11rel:R24-11#9e9c91662026-10-14
  • R25-11rel:R25-11#4a2251b22026-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 options [SWS_CORE_00039]

PoolOptions options () const noexcept;

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4714ac548826 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 options da classe ara::core::SynchronizedPoolResource retorna síncronamente as definições configuradas para o recurso de memória do tipo PoolOptions [SWS_CORE_00039]. A chamada é feita sem parâmetros numa instância da classe e é declarada através do cabeçalho ara/core/memory_resource.h [SWS_CORE_00039]. O comportamento baseia-se, segundo a especificação, em [mem.res.pool] [SWS_CORE_00039], o que deverá ser interpretado como uma referência aos recursos de pool da norma C++. Pergunta Q-9abfddc2cf8dc88c (aberta)

No que concerne ao tratamento de erros e à segurança face a exceções, o método é declarado como noexcept e é considerado totalmente seguro face a exceções (exception safe) [SWS_CORE_00039]. Não existem códigos de erro específicos ou mensagens para o DET ou DEM para esta função de consulta.

Relativamente à concorrência, o método é especificado como const, bem como expressamente seguro para threads (thread-safe) [SWS_CORE_00039]. Pode, assim, ser chamado em paralelo e em segurança a partir de várias threads sem medidas adicionais de sincronização ao nível do utilizador.

Na interação dentro de ara::core, [SWS_CORE_00057] disponibiliza o equivalente não sincronizado: para ara::core::UnsynchronizedPoolResource existe uma função homónima e com a mesma assinatura options com semântica idêntica de acordo com [mem.res.pool].

Este texto foi gerado por uma IA e serve como guia de utilização orientativo.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00039
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00039@rel:R25-11#4eb20ac0
Content hash
4eb20ac0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00039
Status: valid/unmigrated Version: rel:R25-11#104880b6 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_00039@rel:R25-11#104880b6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#065c07432026-09-30
  • R24-11rel:R24-11#d92abe712026-10-14
  • R25-11rel:R25-11#104880b62026-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_00037]

void release () noexcept;

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 32c426df4959 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 síncrona release() pertence à classe ara::core::SynchronizedPoolResource e é disponibilizada através do ficheiro de cabeçalho #include "ara/core/memory_resource.h" [SWS_CORE_00037]. Possui a assinatura void release () noexcept;, não aceita parâmetros e não possui valor de retorno. A semântica funcional rege-se pela respetiva utilização em [mem.res.pool] [SWS_CORE_00037], libertando assim a memória gerida pelo recurso de memória.

Relativamente ao tratamento de erros, a função é declarada como segura contra exceções (exception safe) e noexcept [SWS_CORE_00037]. Não ocorrem exceções C++; códigos de erro específicos ou relatórios de erros através de DET ou DEM não são definidos no âmbito da especificação.

No que diz respeito à concorrência, a operação é expressamente especificada como segura para threads (thread-safe) [SWS_CORE_00037]. Uma chamada simultânea a partir de múltiplas threads sobre a mesma instância de recurso deverá, por conseguinte, ser admissível sem bloqueios adicionais do lado da aplicação. Pergunta Q-3da3b45ca2070b3e (aberta)

Na interação mútua, o comportamento corresponde ao do método funcionalmente idêntico em ara::core::UnsynchronizedPoolResource [SWS_CORE_00065], que remete igualmente para [mem.res.pool] e é identificado como noexcept e thread-safe. Em contrapartida, a função análoga release() de ara::core::MonotonicBufferResource [SWS_CORE_06530] não é, de acordo com a especificação, segura para threads (not thread-safe), embora esteja também sujeita à garantia noexcept.

Este texto foi criado por uma 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::SynchronizedPoolResource
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_00037
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00037@rel:R25-11#e2413642
Content hash
e2413642
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00037
Status: valid/unmigrated Version: rel:R25-11#e7871754 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_00037@rel:R25-11#e7871754
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#adf41cb12026-09-30
  • R24-11rel:R24-11#00875b8f2026-10-14
  • R25-11rel:R25-11#e78717542026-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_00038]

MemoryResource * upstream_resource () const noexcept;

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

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

usar

A função-membro upstream_resource() da classe ara::core::SynchronizedPoolResource fornece um ponteiro para o recurso de memória a montante subjacente (MemoryResource*) de acordo com [SWS_CORE_00038]. A chamada processa-se de forma síncrona e requer a inclusão do ficheiro de cabeçalho #include "ara/core/memory_resource.h" [SWS_CORE_00038]. A função não aceita parâmetros de passagem e serve como puro inspetor para a unidade de gestão de memória a montante.

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

O método é declarado como noexcept e classificado, de acordo com a especificação, como seguro contra exceções (exception safe) [SWS_CORE_00038]. Uma falha da consulta ou o desencadeamento de exceções estão excluídos; não existem códigos de erro para esta chamada.

Simultaneidade e restrições

A função é especificada como const e explicitamente como segura para threads (thread-safe) [SWS_CORE_00038]. Ela pode, portanto, ser chamada concorrentemente a partir de múltiplos contextos de execução sem sincronização externa adicional.

Interação

O conceito de um recurso de memória upstream é fornecido de forma consistente em diferentes implementações de pool de memória do AUTOSAR Adaptive Core:

  • Em ara::core::UnsynchronizedPoolResource, o método funcionalmente idêntico [SWS_CORE_00056] também disponibiliza um ponteiro para o recurso upstream, mas é direcionado a cenários de pool não sincronizados internamente.
  • Em ara::core::MonotonicBufferResource, existe com [SWS_CORE_06531] um equivalente correspondente que também é especificado como noexcept e seguro para threads.

Esta nota de uso foi gerada automaticamente com base no payload do AUTOSAR.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00038
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00038@rel:R25-11#cc7e8d66
Content hash
cc7e8d66
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00038
Status: valid/unmigrated Version: rel:R25-11#72bf42c6 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_00038@rel:R25-11#72bf42c6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#8f2216bb2026-09-30
  • R24-11rel:R24-11#4fe314762026-10-14
  • R25-11rel:R25-11#72bf42c62026-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 ~SynchronizedPoolResource [SWS_CORE_00035]

~SynchronizedPoolResource () noexcept override;

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::SynchronizedPoolResource
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_00035
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00035@rel:R25-11#594c43fa
Content hash
594c43fa
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00035
Status: valid/unmigrated Version: rel:R25-11#ecac8c82 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_00035@rel:R25-11#ecac8c82
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#7dd197ad2026-09-30
  • R24-11rel:R24-11#969d9a0a2026-10-14
  • R25-11rel:R25-11#ecac8c822026-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