DEENESPTFRRUARHIKOZHNL

classe ara::core::PolymorphicAllocator

[SWS_CORE_06540] Upstream: RS_AP_00130

template <class Tp = ara::core::Byte> class PolymorphicAllocator {...};

Implementation of std::pmr::polymorphic_allocator from [mem.poly.allocator.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

Gerencia a alocação polimórfica de memória para objetos e contêineres por meio de recursos de memória substituíveis.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4f3088ca1f09 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Gerencia a alocação polimórfica de memória para objetos e contêineres por meio de recursos de memória substituíveis.

A classe template encapsula a alocação dinâmica baseada em recursos de memória para aplicações adaptativas e contêineres como uma implementação completamente livre de exceções de alocadores polimórficos [SWS_CORE_06541]. Para o controle flexível do ciclo de vida dos objetos, a instância delega todas as requisições de memória a um recurso de memória substituível, no qual alocações malsucedidas retornam deterministicamente ponteiros nulos em vez de exceções C++ [SWS_CORE_06547]. Como condição funcional de contorno essencial, a atribuição por cópia regular é explicitamente desabilitada, enquanto operações de liberação defeituosas em tempo de execução são sempre ignoradas silenciosamente.

Contexto

A classe template ara::core::PolymorphicAllocator implementa, na AUTOSAR Adaptive, a interface para alocação de memória polimórfica com estado de acordo com o padrão C++ e define o tipo de elemento subjacente value_type [SWS_CORE_06572]. Ela atua como um adaptador entre os componentes chamadores – como contêineres ou estruturas da aplicação – e um recurso de memória concreto. Por meio do método resource(), o ponteiro para o MemoryResource utilizado pode ser consultado a qualquer momento [SWS_CORE_06557]. Graças a esse encapsulamento, a solicitação de memória é semanticamente separada da implementação concreta do gerenciamento de memória.

diag_context caller Aufrufer / Container allocator PolymorphicAllocator caller->allocator Allokationsaufruf resource MemoryResource allocator->resource Speicherdelegierung

Diagrama de contexto: integração do alocador entre o chamador e o recurso de memória. Fontes: [SWS_CORE_06557], [SWS_CORE_06572].

Ciclo de vida

Instâncias do alocador são construídas por padrão [SWS_CORE_06541] ou com um ponteiro para um MemoryResource específico [SWS_CORE_06542]. Como o alocador apenas referencia o recurso de memória, a responsabilidade pelo ciclo de vida deste recai presumivelmente sobre o chamador. Pergunta Q-adde89798a03cf8b (aberta) Além do construtor de cópia regular [SWS_CORE_06543], um construtor de conversão permite a inicialização a partir de alocadores para outros tipos de elementos U [SWS_CORE_06544].

Com relação às transferências de posse, o operador de atribuição por cópia regular foi excluído (=delete) [SWS_CORE_06545]. Em contrapartida, o AUTOSAR define explicitamente um construtor de movimentação [SWS_CORE_06546] e um operador de atribuição por movimentação padrão [SWS_CORE_00066]. Em operações de cópia de contêineres, o método select_on_container_copy_construction() gera uma instância correspondente do alocador [SWS_CORE_06573].

No que tange à concorrência, os construtores padrão e de conversão, assim como a consulta ao recurso de memória, são especificados como seguros para threads ([SWS_CORE_06541], [SWS_CORE_06542], [SWS_CORE_06544], [SWS_CORE_06557]). Por outro lado, operações de movimentação ([SWS_CORE_06546]), seleções de cópia ([SWS_CORE_06573]) e todas as operações de alocação, construção e desalocação são declaradas como não seguras para threads.

Caminho de utilização

O fluxo regular compreende a disponibilização de memória, a construção de objetos e sua posterior destruição e liberação:

  • Alocação de memória: a memória bruta para n objetos do tipo Tp é solicitada mediante allocate() [SWS_CORE_06547]. Alternativamente, estão disponíveis allocate_bytes() para alocação com precisão de byte e alinhamento [SWS_CORE_06549], bem como o template allocate_object() para alocações tipadas [SWS_CORE_06551].
  • Inicialização de objetos: o método construct() cria objetos na região de memória previamente alocada [SWS_CORE_06555]. Como operação combinada, new_object() oferece a alocação e a construção in-place em uma única chamada [SWS_CORE_06553].
  • Destruição e liberação: a destruição ocorre via destroy() [SWS_CORE_06556], seguida pela liberação via deallocate() [SWS_CORE_06548], deallocate_bytes() [SWS_CORE_06550] ou deallocate_object() [SWS_CORE_06552]. Ambas podem ser combinadas alternativamente com delete_object() [SWS_CORE_06554].
Fluxo de alocação, construção, destruição e liberaçãoChamadorPolymorphicAllocatorMemoryResourceallocate(n)Speicher anfordernSpeicheradresseTp* (ou nullptr)construct(p, args...)Objektkonstruktiondestroy(p)Objektdestruktiondeallocate(p, n)Speicher freigeben

Diagrama de sequência: fluxo típico de alocação, construção, destruição e liberação. Fontes: [SWS_CORE_06547], [SWS_CORE_06548], [SWS_CORE_06555], [SWS_CORE_06556].

Cenários de erro

A classe difere do padrão ISO C++ em mecanismos essenciais de tratamento de erros a fim de cumprir requisitos rigorosos de sistemas livres de exceções:

Este guia baseia-se na especificação de ara::core::PolymorphicAllocator do AUTOSAR R25-11 e foi criado de forma automatizada.

Mapa de membros

Diagrama de classes

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

G nara__core__PolymorphicAllocator970 PolymorphicAllocator + PolymorphicAllocator() + operator=() + allocate() + allocate_bytes() + allocate_object() + construct() + deallocate() + deallocate_bytes() + deallocate_object() + delete_object() + destroy() + new_object() + resource() + select_on_container_copy_construction()

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

≙ [mem.poly.allocator.class]

Sobrecargas PolymorphicAllocator 5
PolymorphicAllocator () noexcept; SWS_CORE_06541
PolymorphicAllocator (MemoryResource *r) noexcept; SWS_CORE_06542
PolymorphicAllocator (const PolymorphicAllocator &other) noexcept=default; SWS_CORE_06543
template <class U> PolymorphicAllocator (const PolymorphicAllocator< U > &other) noexcept; SWS_CORE_06544
PolymorphicAllocator (PolymorphicAllocator &&other) noexcept; SWS_CORE_06546

Métodos

allocate função

except for the following deviations: 1. The function is noexcept 2. If unsuccessful: nullptr is returned, instead of raising any Exception ≙ [mem.poly.allocator.class]

[[nodiscard]] Tp * allocate (std::size_t n) noexcept;

except for the following deviations: 1. The function is noexcept 2. If unsuccessful: the returned pointer shall be nullptr ≙ [mem.poly.allocator.class]

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

except for the following deviations: 1. The function is noexcept 2. If unsuccessful: the returned pointer shall be nullptr ≙ [mem.poly.allocator.class]

template <class T> [[nodiscard]] T * allocate_object (std::size_t n=1) noexcept;
construct função

except for the following deviations: 1. Function is conditionally noexcept ≙ [mem.poly.allocator.class]

template <class T, class... Args> void construct (T *p, Args &&... args) noexcept(std::is_nothrow_ constructible< T, Args... >::value);
deallocate função

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

void deallocate (Tp *p, std::size_t n) noexcept;

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

void deallocate_bytes (void *p, std::size_t nbytes, std::size_t alignment=alignof(std::max_align_t)) noexcept;

except for the following deviations: 1. Function is nullptr 2. If unsuccessful: errors will be silently ignored ≙ [mem.poly.allocator.class]

template <class T> void deallocate_object (T *p, std::size_t n=1) noexcept;
delete_object função

except for the following deviations: 1. Function is conditionally noexcept 2. If unsuccessful: errors will be silently ignored ≙ [mem.poly.allocator.class]

template <class T> void delete_object (T *p) noexcept(std::is_nothrow_destructible< T >::value);
destroy função

except for the following deviations: 1. Function is conditionally noexcept ≙ [mem.poly.allocator.class]

template <class T> void destroy (T *p) noexcept(std::is_nothrow_destructible< T >::value);
new_object função

except for the following deviations: 1. Function is conditionally noexcept 2. If unsuccessful: nullptr is returned, instead of raising any Exception ≙ [mem.poly.allocator.class]

template <class T, class... CtorArgs> [[nodiscard]] T * new_object (CtorArgs &&... ctor_args) noexcept(std::is_nothrow_constructible< T, CtorArgs... >::value);
resource função

≙ [mem.poly.allocator.class]

MemoryResource * resource () const noexcept;

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

PolymorphicAllocator select_on_container_copy_construction () const noexcept;

Operadores

operator= função 2

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

Sobrecargas = 2
PolymorphicAllocator & operator= (PolymorphicAllocator &&other) noexcept=default; SWS_CORE_00066

Aliases de tipo

value_type alias de tipo

≙ [mem.poly.allocator.class]

using value_type = Tp;

Documentação dos métodos

função PolymorphicAllocator [SWS_CORE_06541]

PolymorphicAllocator () noexcept;

As per corresponding usage in [mem.poly.allocator.class]

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06541
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06541@rel:R25-11#20cd3835
Content hash
20cd3835
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06541
Status: valid/unmigrated Version: rel:R25-11#195a35ec 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_06541@rel:R25-11#195a35ec
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#7e6fd9e52026-09-30
  • R23-11rel:R23-11#1465b8862026-10-14
  • R24-11rel:R24-11#a1bf01392026-10-14
  • R25-11rel:R25-11#195a35ec2026-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 PolymorphicAllocator [SWS_CORE_06542]

PolymorphicAllocator (MemoryResource *r) noexcept;

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06542
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06542@rel:R25-11#c22b8746
Content hash
c22b8746
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06542
Status: valid/unmigrated Version: rel:R25-11#8bd93278 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_06542@rel:R25-11#8bd93278
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#8ff7601b2026-09-30
  • R23-11rel:R23-11#d5a7d6172026-10-14
  • R24-11rel:R24-11#728611b82026-10-14
  • R25-11rel:R25-11#8bd932782026-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 PolymorphicAllocator [SWS_CORE_06543]

PolymorphicAllocator (const PolymorphicAllocator &other) noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06543
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06543@rel:R25-11#d859ec51
Content hash
d859ec51
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06543
Status: valid/unmigrated Version: rel:R25-11#5d62e6ca 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_06543@rel:R25-11#5d62e6ca
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#50677d202026-09-30
  • R23-11rel:R23-11#fc99e5522026-10-14
  • R24-11rel:R24-11#7f7cdd4b2026-10-14
  • R25-11rel:R25-11#5d62e6ca2026-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 PolymorphicAllocator [SWS_CORE_06544]

template <class U> PolymorphicAllocator (const PolymorphicAllocator< U > &other) noexcept;

As per corresponding usage in [mem.poly.allocator.class]

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06544
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06544@rel:R25-11#46b82f7a
Content hash
46b82f7a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06544
Status: valid/unmigrated Version: rel:R25-11#539ac7f5 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_06544@rel:R25-11#539ac7f5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1facdd412026-09-30
  • R23-11rel:R23-11#a331d77c2026-10-14
  • R24-11rel:R24-11#745d118b2026-10-14
  • R25-11rel:R25-11#539ac7f52026-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 PolymorphicAllocator [SWS_CORE_06546] Upstream: RS_AP_00145

PolymorphicAllocator (PolymorphicAllocator &&other) noexcept;

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

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

Parameter (in)

ParameterBeschreibung
otherother PolymorphicAllocator to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_06546
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06546@rel:R25-11#c4437c4a
Content hash
c4437c4a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06546
Status: valid/unmigrated Version: rel:R25-11#8cbb6f43 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_06546@rel:R25-11#8cbb6f43
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#cbffc4452026-09-30
  • R23-11rel:R23-11#76904a592026-10-14
  • R24-11rel:R24-11#fb6303702026-10-14
  • R25-11rel:R25-11#8cbb6f432026-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_06547]

[[nodiscard]] Tp * allocate (std::size_t n) noexcept;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. The function is noexcept 2. If unsuccessful: nullptr is returned, instead of raising any Exception

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: e24ff27c5b25 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 allocate da classe ara::core::PolymorphicAllocator destina-se à requisição síncrona de memória não inicializada para n objetos do tipo Tp [SWS_CORE_06547]. Ela baseia-se na funcionalidade de [mem.poly.allocator.class], mas desvia deliberadamente do padrão C++ pela declaração como noexcept e pelo atributo [[nodiscard]] [SWS_CORE_06547].

Em caso de erro, allocate não lança uma exceção como std::bad_alloc, mas retorna um nullptr em seu lugar [SWS_CORE_06547]. Devido a [[nodiscard]], o chamador deve receber explicitamente o valor de retorno e verificar contra nullptr antes de utilizar a região de memória [SWS_CORE_06547]. Em relação à concorrência, a função é classificada como Exception-Safe, mas é considerada não thread-safe (not thread-safe) [SWS_CORE_06547]. Interpretação: Uma chamada síncrona através do mesmo alocador a partir de diferentes threads deve, portanto, exigir proteção externa por parte do chamador. Pergunta Q-b00116faadf930fe (aberta)

O comportamento tolerante a falhas sem exceções corresponde diretamente à interface ara::core::MemoryResource::allocate [SWS_CORE_06503], que também é definida como noexcept e retorna nullptr em caso de falha. Instâncias predefinidas como NullMemoryResource [SWS_CORE_06563] também utilizam esse princípio e retornam consistentemente nullptr em chamadas de alocação. Em um nível superior, esse mecanismo interage com contêineres como ara::core::Vector [SWS_CORE_01315], cujos operadores de atribuição são ajustados a tais propriedades de alocação.

Este texto foi gerado automaticamente. Prevalece a especificação AUTOSAR.

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

Rückgabewert

TypBeschreibung
Tp *• If successful: As per corresponding usage in [mem.poly.allocator.class] • 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_06547
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06547@rel:R25-11#eb5fd66e
Content hash
eb5fd66e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06547
Status: valid/unmigrated Version: rel:R25-11#c37fff24 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_06547@rel:R25-11#c37fff24
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1a6944692026-09-30
  • R23-11rel:R23-11#eca29eb82026-10-14
  • R24-11rel:R24-11#ae9311ae2026-10-14
  • R25-11rel:R25-11#c37fff242026-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_bytes [SWS_CORE_06549]

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

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. The function is noexcept 2. If unsuccessful: the returned pointer shall be nullptr

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ed713f104c1d 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 allocate_bytes da classe ara::core::PolymorphicAllocator reserva memória bruta no volume de nbytes com o alinhamento especificado alignment [SWS_CORE_06549]. O valor padrão para o alinhamento corresponde a alignof(std::max_align_t) [SWS_CORE_06549]. A função é incluída por meio do cabeçalho ara/core/memory_resource.h e executada sincronicamente [SWS_CORE_06549].

Tratamento de erros e semântica

Diferentemente do comportamento padrão segundo [mem.poly.allocator.class], a implementação apresenta dois desvios [SWS_CORE_06549]:

  • A função é declarada como noexcept e não lança exceções [SWS_CORE_06549].
  • Se a alocação falhar, a função retorna nullptr em vez de disparar uma exceção [SWS_CORE_06549].

Devido ao atributo [[nodiscard]], o valor de retorno deve ser avaliado pelo chamador, em particular por meio de uma verificação de nullptr antes do acesso à região de memória [SWS_CORE_06549].

Simultaneidade e restrições

Quanto à segurança de threads, o método é especificado como not thread-safe [SWS_CORE_06549]. Chamadas paralelas na mesma instância provavelmente necessitam, portanto, de uma sincronização externa [SWS_CORE_06549]. Pergunta Q-85c74d55563cae38 (aberta) Em relação à segurança contra exceções, a operação é considerada exception safe [SWS_CORE_06549].

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06549
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06549@rel:R25-11#30c23cdb
Content hash
30c23cdb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06549
Status: valid/unmigrated Version: rel:R25-11#126a0b29 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_06549@rel:R25-11#126a0b29
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#d65ae27d2026-09-30
  • R23-11rel:R23-11#d9ed47762026-10-14
  • R24-11rel:R24-11#9b3f93072026-10-14
  • R25-11rel:R25-11#126a0b292026-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_object [SWS_CORE_06551]

template <class T> [[nodiscard]] T * allocate_object (std::size_t n=1) noexcept;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. The function is noexcept 2. If unsuccessful: the returned pointer shall be nullptr

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

usar

A função membro de template allocate_object é parte integrante da classe ara::core::PolymorphicAllocator e é disponibilizada por meio do arquivo de cabeçalho #include "ara/core/memory_resource.h" [SWS_CORE_06551]. Ela aloca memória sincronicamente para n objetos do tipo T, sendo o parâmetro n preenchido por padrão com o valor 1 [SWS_CORE_06551]. O atributo de compilador [[nodiscard]] obriga os chamadores a não ignorar o ponteiro tipado T* retornado.

Tratamento de erros

A especificação define dois desvios explícitos do padrão [mem.poly.allocator.class] [SWS_CORE_06551]:

  • Sem exceções: A função é declarada como noexcept e especificada como segura contra exceções (exception safe) [SWS_CORE_06551].
  • Ponteiro nulo em caso de erro: Se a alocação de memória falhar, nenhuma exceção é lançada, mas nullptr é obrigatoriamente retornado [SWS_CORE_06551].

O chamador deve, portanto, verificar se o ponteiro fornecido é nullptr imediatamente antes de utilizá-lo posteriormente.

Simultaneidade e restrições

A operação é especificada como não segura para threads (not thread-safe) [SWS_CORE_06551]. No caso de uso concorrente da mesma instância de alocador, uma sincronização externa provavelmente será necessária para evitar condições de corrida (data races). Além disso, a função reserva memória pura (interpretação: a construção de objetos na memória reservada cabe a mecanismos posteriores). Pergunta Q-c41df2caaeb4c503 (aberta)

Este texto foi criado por uma IA e baseia-se na especificação do AUTOSAR R25-11.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06551
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06551@rel:R25-11#88354c87
Content hash
88354c87
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06551
Status: valid/unmigrated Version: rel:R25-11#e1e4da70 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_06551@rel:R25-11#e1e4da70
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#3b58128a2026-09-30
  • R23-11rel:R23-11#68fdb6af2026-10-14
  • R24-11rel:R24-11#e6cdc1b02026-10-14
  • R25-11rel:R25-11#e1e4da702026-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 construct [SWS_CORE_06555]

template <class T, class... Args> void construct (T *p, Args &&... args) noexcept(std::is_nothrow_ constructible< T, Args... >::value);

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is conditionally noexcept

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: b824902bd6dd 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 de template construct da classe ara::core::PolymorphicAllocator ([SWS_CORE_06555]) serve para a criação síncrona de um objeto do tipo T no endereço de memória fornecido p com o encaminhamento dos argumentos args.... Ela é definida por meio do cabeçalho ara/core/memory_resource.h e segue essencialmente os requisitos de [mem.poly.allocator.class].

Um desvio explícito do padrão C++ diz respeito ao tratamento de exceções: de acordo com [SWS_CORE_06555], a função é declarada condicionalmente como noexcept, dependendo se std::is_nothrow_constructible<T, Args...>::value se aplica. A especificação atribui a ela, assim, o atributo conditionally exception safe. Interpretação: Desde que T não possa ser construído livre de exceções, eventuais exceções do construtor devem ser propagadas livremente ao chamador, pois não estão definidos códigos de erro internos nem mecanismos especiais de interceptação. Pergunta Q-ad77510f396e59ae (aberta)

Em relação à concorrência e às condições de contorno, construct é especificado como não seguro para threads (not thread-safe) ([SWS_CORE_06555]). Em acessos paralelos à mesma instância de Allocator ou à mesma região de memória, uma sincronização externa no contexto de chamada é, portanto, estritamente necessária.

O padrão arquitetural de uma declaração noexcept dependente do tipo corresponde às convenções em ara::core, como também empregado, entre outros, nos construtores de ara::core::Result ([SWS_CORE_00725], [SWS_CORE_00726]).

Esta nota de uso foi gerada automaticamente e baseia-se exclusivamente na especificação do AUTOSAR Adaptive Release R25-11.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
Exception-Sicherheitconditionally exception 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_06555
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06555@rel:R25-11#1f995b6b
Content hash
1f995b6b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06555
Status: valid/unmigrated Version: rel:R25-11#0973fb97 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_06555@rel:R25-11#0973fb97
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#797687e32026-09-30
  • R23-11rel:R23-11#62b249762026-10-14
  • R24-11rel:R24-11#44e873a92026-10-14
  • R25-11rel:R25-11#0973fb972026-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_06548]

void deallocate (Tp *p, std::size_t n) noexcept;

As per corresponding usage in [mem.poly.allocator.class] 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: 2c2725501203 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

A função-membro deallocate da classe ara::core::PolymorphicAllocator libera memória previamente alocada para n objetos do tipo Tp a partir do endereço p [SWS_CORE_06548]. A declaração ocorre por meio do cabeçalho ara/core/memory_resource.h [SWS_CORE_06548]. A função segue fundamentalmente a semântica do alocador C++ padrão de acordo com [mem.poly.allocator.class], mas apresenta dois desvios específicos [SWS_CORE_06548].

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

Como desvio essencial, a operação é declarada como noexcept e especificada como segura contra exceções (exception safe) [SWS_CORE_06548]. Se a liberação da memória falhar, os erros ocorridos serão ignorados silenciosamente (silently ignored), de modo que nenhuma exceção é lançada nem códigos de erro explícitos são retornados [SWS_CORE_06548].

Concorrência e interação

Em relação ao contexto de chamada, deallocate é classificada como não thread-safe (not thread-safe) [SWS_CORE_06548]. No conceito de gerenciamento de memória, esta função corresponde ao método deallocate da classe base subjacente ara::core::MemoryResource [SWS_CORE_06504], para a qual se aplicam os mesmos desvios quanto a noexcept e ao tratamento silencioso de erros.

Esta nota de uso foi criada de forma automatizada e baseia-se exclusivamente nos requisitos de especificação da AUTOSAR Adaptive.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06548
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06548@rel:R25-11#c726dfb3
Content hash
c726dfb3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06548
Status: valid/unmigrated Version: rel:R25-11#d1d0b454 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_06548@rel:R25-11#d1d0b454
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#824b5be32026-09-30
  • R23-11rel:R23-11#af3c4e332026-10-14
  • R24-11rel:R24-11#92f9b2332026-10-14
  • R25-11rel:R25-11#d1d0b4542026-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_bytes [SWS_CORE_06550]

void deallocate_bytes (void *p, std::size_t nbytes, std::size_t alignment=alignof(std::max_align_t)) noexcept;

As per corresponding usage in [mem.poly.allocator.class] 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: faf22ebd97f2 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 deallocate_bytes da classe ara::core::PolymorphicAllocator serve para a liberação de uma região de memória previamente alocada de acordo com [SWS_CORE_06550]. Ela é disponibilizada por meio do cabeçalho ara/core/memory_resource.h e orienta-se essencialmente pela semântica de [mem.poly.allocator.class].

A chamada ocorre de forma síncrona e espera os seguintes parâmetros, de acordo com [SWS_CORE_06550]:

  • p: ponteiro (void*) para a região de memória a ser liberada.
  • nbytes: tamanho da memória a ser liberada em bytes (std::size_t).
  • alignment: alinhamento desejado (valor padrão alignof(std::max_align_t)).

Em relação ao comportamento de falha, a implementação apresenta desvios específicos em relação ao padrão: a função é declarada como noexcept e considerada segura contra exceções (exception safe). Se a liberação falhar, os erros ocorridos são silenciosamente ignorados (silently ignored), de acordo com [SWS_CORE_06550]. Nenhuma exceção é lançada e nenhum valor de retorno é fornecido.

Em relação à concorrência e às restrições, a função é especificada explicitamente como não segura para threads (not thread-safe) [SWS_CORE_06550]. Um acesso concorrente à mesma instância de alocador sem sincronização externa provavelmente levaria, portanto, a um comportamento indefinido. Pergunta Q-33c80e3bb50ed64f (aberta)

Esta nota de uso foi criada automaticamente com base no Release R25-11.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06550
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06550@rel:R25-11#578af474
Content hash
578af474
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06550
Status: valid/unmigrated Version: rel:R25-11#7305c652 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_06550@rel:R25-11#7305c652
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b90edcee2026-09-30
  • R23-11rel:R23-11#9a13c45b2026-10-14
  • R24-11rel:R24-11#eeb59aac2026-10-14
  • R25-11rel:R25-11#7305c6522026-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_object [SWS_CORE_06552]

template <class T> void deallocate_object (T *p, std::size_t n=1) noexcept;

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is nullptr 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: d1e41bdb2142 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 de template deallocate_object da classe ara::core::PolymorphicAllocator serve para a liberação de memória de objetos previamente reservada [SWS_CORE_06552]. Ela se orienta pelo uso correspondente do padrão C++ de acordo com [mem.poly.allocator.class], apresentando, no entanto, desvios específicos [SWS_CORE_06552].

Em relação aos parâmetros e ao contexto de chamada, aplicam-se as seguintes propriedades [SWS_CORE_06552]:

  • Assinatura: template <class T> void deallocate_object (T *p, std::size_t n=1) noexcept; [SWS_CORE_06552].
  • Cabeçalho: A função está disponível via #include "ara/core/memory_resource.h" [SWS_CORE_06552].
  • Valor de retorno: A operação não fornece valor de retorno (void) [SWS_CORE_06552].
  • Comportamento de ponteiro nulo: Como desvio explícito, é especificado que a função atua ou suporta ponteiros nulos na passagem de nullptr («Function is nullptr») [SWS_CORE_06552].

Quanto ao tratamento de erros, a função é declarada como noexcept e considerada segura contra exceções (exception safe) [SWS_CORE_06552]. Se uma desalocação falhar, os erros ocorridos são silenciosamente ignorados («errors will be silently ignored»), de modo que nenhuma exceção seja propagada para o exterior [SWS_CORE_06552].

Como restrição essencial, deallocate_object é classificado como não seguro para threads (not thread-safe) [SWS_CORE_06552]. Em acessos paralelos à mesma instância de Allocator a partir de várias threads, as chamadas devem, portanto, ser protegidas por mecanismos externos de sincronização.

Este texto foi criado por uma IA e baseia-se exclusivamente nas especificações do Release R25-11.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06552
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06552@rel:R25-11#6770b3cf
Content hash
6770b3cf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06552
Status: valid/unmigrated Version: rel:R25-11#8e127a90 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_06552@rel:R25-11#8e127a90
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#97b0add92026-09-30
  • R23-11rel:R23-11#0e144f892026-10-14
  • R24-11rel:R24-11#30aa2ab62026-10-14
  • R25-11rel:R25-11#8e127a902026-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 delete_object [SWS_CORE_06554]

template <class T> void delete_object (T *p) noexcept(std::is_nothrow_destructible< T >::value);

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is conditionally 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: c42857d5d063 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 delete_object da classe ara::core::PolymorphicAllocator serve, de acordo com [SWS_CORE_06554], para a destruição e liberação de um objeto do tipo T apontado pelo ponteiro fornecido p. A função é disponibilizada por meio do arquivo de cabeçalho #include "ara/core/memory_resource.h" e segue o comportamento de [mem.poly.allocator.class] com desvios específicos.

Em relação ao contexto de chamada e à semântica, aplicam-se as seguintes propriedades:

  • Valor de retorno e exceções: A função não possui valor de retorno (void). Ela é condicionalmente segura contra exceções (conditionally noexcept) com a especificação noexcept(std::is_nothrow_destructible<T>::value), ou seja, não lança exceções desde que o destrutor de T seja declarado como não lançador [SWS_CORE_06554].
  • Tratamento de erros: Se a operação falhar, os erros ocorridos são silenciosamente ignorados (errors will be silently ignored) [SWS_CORE_06554]. Interpretação: Os chamadores, portanto, não recebem mensagem de erro, código de erro nem exceção em caso de falha. Pergunta Q-9393b0f68a055e4b (aberta)
  • Segurança de threads: A operação é especificada como não segura para threads (not thread-safe) [SWS_CORE_06554]. No uso concorrente do mesmo alocador entre múltiplas threads, a sincronização cabe ao chamador.

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
Exception-Sicherheitconditionally exception 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_06554
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06554@rel:R25-11#3779f8f8
Content hash
3779f8f8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06554
Status: valid/unmigrated Version: rel:R25-11#9b4d40a0 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_06554@rel:R25-11#9b4d40a0
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#052ca7492026-09-30
  • R23-11rel:R23-11#3c9cbc572026-10-14
  • R24-11rel:R24-11#d8a2d49d2026-10-14
  • R25-11rel:R25-11#9b4d40a02026-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 destroy [SWS_CORE_06556]

template <class T> void destroy (T *p) noexcept(std::is_nothrow_destructible< T >::value);

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is conditionally noexcept

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: d8b5334c8292 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 de template destroy da classe ara::core::PolymorphicAllocator ([SWS_CORE_06556]) serve para a destruição de um objeto do tipo T para o qual o ponteiro p aponta. A função é declarada no cabeçalho ara/core/memory_resource.h e segue essencialmente o comportamento padronizado de [mem.poly.allocator.class] ([SWS_CORE_06556]). A chamada de método não fornece valor de retorno e é executada sincronicamente no contexto da thread chamadora. Interpretação: Pressupõe-se aqui que p aponte para um objeto válido, previamente instanciado. Pergunta Q-a4faf7034eb683dd (aberta)

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

Em relação ao tratamento de erros, a função é classificada como condicionalmente segura contra exceções (conditionally exception safe) ([SWS_CORE_06556]). Como desvio específico do requisito padrão [mem.poly.allocator.class], destroy é declarada condicionalmente com noexcept(std::is_nothrow_destructible<T>::value) ([SWS_CORE_06556]). Se o destrutor do tipo fornecido T não lançar exceções, a ausência de exceções aplica-se a toda a chamada; caso contrário, exceções resultantes do destrutor podem escapar.

Simultaneidade e restrições

Quanto ao comportamento de concorrência, destroy é especificado como não seguro para threads (not thread-safe) ([SWS_CORE_06556]). Se várias threads acessarem simultaneamente a mesma instância de ara::core::PolymorphicAllocator ou o objeto a ser destruído, mecanismos externos adequados de sincronização devem ser estabelecidos.

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
Exception-Sicherheitconditionally exception 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_06556
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06556@rel:R25-11#78e7e2f0
Content hash
78e7e2f0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06556
Status: valid/unmigrated Version: rel:R25-11#abadf693 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_06556@rel:R25-11#abadf693
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b20f3b522026-09-30
  • R23-11rel:R23-11#4cffca7a2026-10-14
  • R24-11rel:R24-11#c0cdac192026-10-14
  • R25-11rel:R25-11#abadf6932026-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 new_object [SWS_CORE_06553]

template <class T, class... CtorArgs> [[nodiscard]] T * new_object (CtorArgs &&... ctor_args) noexcept(std::is_nothrow_constructible< T, CtorArgs... >::value);

As per corresponding usage in [mem.poly.allocator.class] except for the following deviations: 1. Function is conditionally noexcept 2. If unsuccessful: nullptr is returned, instead of raising any Exception

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: d4720bb5fd75 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 de template new_object da classe ara::core::PolymorphicAllocator (definida em #include "ara/core/memory_resource.h") aloca memória de forma síncrona e constrói um objeto do tipo T com os argumentos de construtor fornecidos ctor_args [SWS_CORE_06553].

O uso está sujeito às seguintes definições e desvios do padrão [mem.poly.allocator.class] [SWS_CORE_06553]:

  • Chamada e valor de retorno: Em caso de criação bem-sucedida do objeto, é retornado um ponteiro tipado T* para a nova instância. O atributo [[nodiscard]] obriga os chamadores a avaliar o valor de retorno.
  • Tratamento de erros: No caso de falha, diferentemente de [mem.poly.allocator.class], nenhuma exceção é disparada, mas nullptr é retornado. O chamador deve, portanto, verificar obrigatoriamente se o ponteiro resultante é nullptr antes do acesso.
  • Segurança contra exceções: A função é especificada como condicionalmente segura contra exceções (conditionally exception safe). Ela é noexcept se, e somente se, a própria criação do objeto garantir que nenhuma exceção será lançada (noexcept(std::is_nothrow_constructible<T, CtorArgs...>::value)).
  • Concorrência: A função é declarada como não segura para threads (not thread-safe). Interpretação: No caso de acesso simultâneo à mesma instância de ara::core::PolymorphicAllocator, o chamador provavelmente é responsável por uma sincronização externa adequada. Pergunta Q-3d0ecfe34187c91e (aberta)

Esta nota de uso foi gerada automaticamente com base no AUTOSAR R25-11.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
T*• If successful: As per corresponding usage in [mem.poly.allocator.class] • 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_06553
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06553@rel:R25-11#e467ae85
Content hash
e467ae85
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06553
Status: valid/unmigrated Version: rel:R25-11#a6ad2786 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_06553@rel:R25-11#a6ad2786
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#d2723bd62026-09-30
  • R23-11rel:R23-11#914b6df22026-10-14
  • R24-11rel:R24-11#700266922026-10-14
  • R25-11rel:R25-11#a6ad27862026-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_00066] Upstream: RS_AP_00145

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

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

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

Parameter (in)

ParameterBeschreibung
otherother PolymorphicAllocator to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_00066
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00066@rel:R25-11#5357fc9a
Content hash
5357fc9a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00066
Status: valid/unmigrated Version: rel:R25-11#b0c562e4 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_00066@rel:R25-11#b0c562e4
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#9ab9307f2026-09-30
  • R24-11rel:R24-11#49e75ee42026-10-14
  • R25-11rel:R25-11#b0c562e42026-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_06545]

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

As per corresponding usage in [mem.poly.allocator.class]

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06545
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06545@rel:R25-11#a72e0e8f
Content hash
a72e0e8f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06545
Status: valid/unmigrated Version: rel:R25-11#ebba2fe5 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_06545@rel:R25-11#ebba2fe5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#6662d26d2026-09-30
  • R23-11rel:R23-11#19b7dc922026-10-14
  • R24-11rel:R24-11#9e9fa6da2026-10-14
  • R25-11rel:R25-11#ebba2fe52026-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 resource [SWS_CORE_06557]

MemoryResource * resource () const noexcept;

As per corresponding usage in [mem.poly.allocator.class]

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 90f4d7f53a57 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 resource é uma função membro constante da classe ara::core::PolymorphicAllocator do arquivo de cabeçalho #include "ara/core/memory_resource.h" [SWS_CORE_06557]. Ele serve, de acordo com a referência de especificação a [mem.poly.allocator.class], para a obtenção síncrona do recurso de memória associado [SWS_CORE_06557].

Uso e assinatura

A assinatura da função é MemoryResource * resource () const noexcept; [SWS_CORE_06557]. A chamada ocorre sem parâmetros e de forma síncrona em uma instância de ara::core::PolymorphicAllocator. Como valor de retorno, a função fornece um ponteiro do tipo MemoryResource* [SWS_CORE_06557]. Interpretação: O ponteiro retornado provavelmente aponta diretamente para o recurso de memória concreto que o alocador utiliza para operações de memória. Pergunta Q-392683a38a4e490b (aberta)

Tratamento de erros e simultaneidade

  • Segurança contra exceções: A função é declarada como noexcept e classificada como exception safe [SWS_CORE_06557]. Ela não lança exceções e não há códigos de erro específicos definidos.
  • Segurança de threads: A especificação classifica o método explicitamente como thread-safe [SWS_CORE_06557]. Pela qualificação como const, o acesso concorrente de leitura entre várias threads é seguro.

Interação

No módulo core, resource disponibiliza a interface para consultar o MemoryResource encapsulado por ara::core::PolymorphicAllocator e acionar suas operações [SWS_CORE_06557].

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR Adaptive R25-11.

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06557
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06557@rel:R25-11#5755d4fe
Content hash
5755d4fe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06557
Status: valid/unmigrated Version: rel:R25-11#95a9a731 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_06557@rel:R25-11#95a9a731
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#03dbf6b12026-09-30
  • R23-11rel:R23-11#071c0a122026-10-14
  • R24-11rel:R24-11#4d44fc3f2026-10-14
  • R25-11rel:R25-11#95a9a7312026-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 select_on_container_copy_construction [SWS_CORE_06573]

PolymorphicAllocator select_on_container_copy_construction () const noexcept;

As per corresponding usage in [mem.poly.allocator.class] 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: c103d893236c 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 select_on_container_copy_construction pertence ao escopo da classe ara::core::PolymorphicAllocator e é declarada por meio do arquivo de cabeçalho #include "ara/core/memory_resource.h" ([SWS_CORE_06573]). Ela é chamada sincronicamente para criar uma nova instância de PolymorphicAllocator na construção por cópia de um contêiner ([SWS_CORE_06573]). O comportamento funcional segue a especificação [mem.poly.allocator.class] ([SWS_CORE_06573]). Interpretação: O alocador resultante provavelmente é construído por padrão e, portanto, recorre ao recurso de memória padrão, em vez de copiar compulsoriamente o recurso de memória do contêiner de origem. Pergunta Q-134ed967dc22e133 (aberta)

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

Um desvio central em relação à especificação geral do C++ consiste no fato de a função ser declarada explicitamente como noexcept no AUTOSAR ([SWS_CORE_06573]). A execução é definida como segura contra exceções (exception safe) ([SWS_CORE_06573]). Códigos de erro específicos, valores de retorno para indicação de erros ou mensagens para DET ou DEM não estão previstos para esta interface, visto que a chamada termina garantidamente sem erros.

Simultaneidade e restrições

Segundo a especificação, a função é classificada como not thread-safe ([SWS_CORE_06573]). Isso significa que chamadas simultâneas na mesma instância de PolymorphicAllocator a partir de várias threads sem sincronização externa podem levar a condições de corrida (data races). Antes de copiar um contêiner em ambientes concorrentes, o acesso ao objeto alocador deve ser protegido pelo usuário.

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::PolymorphicAllocator
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_06573
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06573@rel:R25-11#9fa7b6b6
Content hash
9fa7b6b6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06573
Status: valid/unmigrated Version: rel:R25-11#23e4ce94 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_06573@rel:R25-11#23e4ce94
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f78e279c2026-09-30
  • R24-11rel:R24-11#70871b2b2026-10-14
  • R25-11rel:R25-11#23e4ce942026-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

Documentação dos aliases de tipo

alias de tipo value_type [SWS_CORE_06572]

using value_type = Tp;

As per corresponding usage in [mem.poly.allocator.class]

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06572
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06572@rel:R25-11#e58f96c2
Content hash
e58f96c2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06572
Status: valid/unmigrated Version: rel:R25-11#8c0c50c3 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_06572@rel:R25-11#8c0c50c3
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#2bb07c522026-09-30
  • R24-11rel:R24-11#92a2e3f52026-10-14
  • R25-11rel:R25-11#8c0c50c32026-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