DEENESPTFRRUARHIKOZHNL

класс 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

Руководство пользователяСОЗДАНО ИИ

Управляет полиморфным выделением памяти для объектов и контейнеров через заменяемые ресурсы памяти.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4f3088ca1f09 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Управляет полиморфным выделением памяти для объектов и контейнеров через заменяемые ресурсы памяти.

Шаблонный класс инкапсулирует динамическое выделение памяти на основе ресурсов памяти для адаптивных приложений и контейнеров в виде полностью свободной от исключений реализации полиморфных аллокаторов [SWS_CORE_06541]. Для гибкого управления жизненным циклом объектов экземпляр делегирует все запросы памяти заменяемому ресурсу памяти, при этом неудачные выделения памяти детерминированно возвращают нулевые указатели вместо исключений C++ [SWS_CORE_06547]. В качестве существенного функционального граничного условия регулярное присваивание копированием явно запрещено, тогда как ошибочные операции освобождения во время работы всегда молчаливо игнорируются.

Контекст

Шаблонный класс ara::core::PolymorphicAllocator реализует в AUTOSAR Adaptive интерфейс для полиморфного выделения памяти с сохранением состояния согласно стандартному шаблону C++ и определяет базовый тип элементов value_type [SWS_CORE_06572]. Он выступает адаптером между вызывающими компонентами — такими как контейнеры или структуры приложений — и конкретным ресурсом памяти. С помощью метода resource() можно в любое время запросить указатель на используемый MemoryResource [SWS_CORE_06557]. Благодаря этой инкапсуляции запрос памяти семантически отделен от конкретной реализации управления памятью.

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

Контекстная диаграмма: интеграция аллокатора между вызывающей стороной и ресурсом памяти. Источники: [SWS_CORE_06557], [SWS_CORE_06572].

Жизненный цикл

Экземпляры аллокатора конструируются либо по умолчанию [SWS_CORE_06541], либо с указателем на конкретный MemoryResource [SWS_CORE_06542]. Поскольку аллокатор лишь ссылается на ресурс памяти, ответственность за его время жизни, вероятно, лежит на вызывающей стороне. Вопрос Q-adde89798a03cf8b (открытый) Наряду с регулярным конструктором копирования [SWS_CORE_06543] конструктор преобразования допускает инициализацию из аллокаторов для других типов элементов U [SWS_CORE_06544].

Что касается передачи владения, регулярный оператор присваивания копированием удалён (=delete) [SWS_CORE_06545]. Напротив, AUTOSAR явно определяет конструктор перемещения [SWS_CORE_06546], а также стандартный оператор присваивания перемещением [SWS_CORE_00066]. При операциях копирования контейнеров метод select_on_container_copy_construction() создаёт соответствующий экземпляр аллокатора [SWS_CORE_06573].

В отношении параллелизма конструкторы по умолчанию и преобразования, а также запрос ресурса памяти специфицированы как потокобезопасные ([SWS_CORE_06541], [SWS_CORE_06542], [SWS_CORE_06544], [SWS_CORE_06557]). Напротив, операции перемещения ([SWS_CORE_06546]), выбор копии ([SWS_CORE_06573]), а также все операции выделения, конструирования и освобождения памяти объявлены как непотокобезопасные.

Путь использования

Регулярный процесс включает выделение памяти, конструирование объектов, а также их последующее уничтожение и освобождение:

  • Выделение памяти: сырая память для n объектов типа Tp запрашивается с помощью allocate() [SWS_CORE_06547]. В качестве альтернативы доступны allocate_bytes() для побайтового выделения с выравниванием [SWS_CORE_06549], а также шаблон allocate_object() для типизированных выделений [SWS_CORE_06551].
  • Инициализация объектов: метод construct() создаёт объекты в предварительно выделенной области памяти [SWS_CORE_06555]. В качестве комбинированной операции new_object() предоставляет выделение памяти и конструирование на месте в одном вызове [SWS_CORE_06553].
  • Уничтожение и освобождение: уничтожение осуществляется через destroy() [SWS_CORE_06556] с последующим освобождением через deallocate() [SWS_CORE_06548], deallocate_bytes() [SWS_CORE_06550] или deallocate_object() [SWS_CORE_06552]. И то, и другое можно альтернативно объединить с помощью delete_object() [SWS_CORE_06554].
Последовательность выделения памяти, конструирования, уничтожения и освобожденияВызывающая сторонаPolymorphicAllocatorMemoryResourceallocate(n)Speicher anfordernSpeicheradresseTp* (или nullptr)construct(p, args...)Objektkonstruktiondestroy(p)Objektdestruktiondeallocate(p, n)Speicher freigeben

Диаграмма последовательности: типичный процесс выделения памяти, конструирования, уничтожения и освобождения. Источники: [SWS_CORE_06547], [SWS_CORE_06548], [SWS_CORE_06555], [SWS_CORE_06556].

Сценарии ошибок

Класс отличается от стандарта ISO-C++ существенными механизмами обработки ошибок для соответствия строгим требованиям к системам без исключений:

  • Отсутствие исключений при выделении памяти: все методы выделения памяти (allocate() [SWS_CORE_06547], allocate_bytes() [SWS_CORE_06549] и allocate_object() [SWS_CORE_06551]) являются noexcept. В случае сбоя резервирования памяти вместо исключения возвращается nullptr. Вызывающей стороне, вероятно, обязательно требуется проверять указатель перед дальнейшим использованием. Вопрос Q-a12cbeeba5edd1d0 (открытый)
  • Условная безопасность к исключениям: подпрограммы конструирования и уничтожения (construct() [SWS_CORE_06555], destroy() [SWS_CORE_06556], new_object() [SWS_CORE_06553] и delete_object() [SWS_CORE_06554]) условно являются noexcept в зависимости от std::is_nothrow_constructible или std::is_nothrow_destructible затронутых типов. При сбое new_object() также возвращается nullptr [SWS_CORE_06553].
  • Подавление ошибок при освобождении памяти: в случае сбоя операций освобождения возникшие ошибки в deallocate() [SWS_CORE_06548], deallocate_bytes() [SWS_CORE_06550], deallocate_object() [SWS_CORE_06552] и delete_object() [SWS_CORE_06554] без исключения молчаливо игнорируются.

Настоящее руководство основано на спецификации ara::core::PolymorphicAllocator из AUTOSAR R25-11 и создано автоматически.

Карта членов

Диаграмма классов

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

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

PolymorphicAllocator функция 5

≙ [mem.poly.allocator.class]

Перегрузки 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

Методы

allocate функция

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;
allocate_bytes функция

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;
allocate_object функция

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 функция

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 функция

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;
deallocate_bytes функция

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;
deallocate_object функция

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 функция

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 функция

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 функция

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 функция

≙ [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;

Операторы

operator= функция 2

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

Перегрузки = 2
PolymorphicAllocator & operator= (PolymorphicAllocator &&other) noexcept=default; SWS_CORE_00066

Псевдонимы типов

value_type псевдоним типа

≙ [mem.poly.allocator.class]

using value_type = Tp;

Документация методов

функция 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#8bc62bab
Content hash
8bc62bab
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

функция 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#3b077a43
Content hash
3b077a43
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

функция 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#18eab874
Content hash
18eab874
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

функция 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#ddf09f33
Content hash
ddf09f33
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

функция 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#3442ea9d
Content hash
3442ea9d
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: e24ff27c5b25 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция-член allocate класса ara::core::PolymorphicAllocator служит для синхронного запроса неинициализированной памяти для n объектов типа Tp [SWS_CORE_06547]. Она ориентируется на функциональность [mem.poly.allocator.class], однако целенаправленно отклоняется от стандарта C++ за счёт объявления как noexcept и атрибута [[nodiscard]] [SWS_CORE_06547].

В случае ошибки allocate не генерирует исключение, как std::bad_alloc, а возвращает вместо этого nullptr [SWS_CORE_06547]. Из-за [[nodiscard]] вызывающая сторона должна явно принимать возвращаемое значение и проверять его на nullptr перед использованием области памяти [SWS_CORE_06547]. В отношении параллелизма функция классифицирована как Exception-Safe, однако считается непотокобезопасной (not thread-safe) [SWS_CORE_06547]. Интерпретация: синхронный вызов через один и тот же аллокатор из разных потоков, вероятно, потребует внешней защиты со стороны вызывающего кода. Вопрос Q-b00116faadf930fe (открытый)

Отказоустойчивое поведение без исключений напрямую соотносится с интерфейсом ara::core::MemoryResource::allocate [SWS_CORE_06503], который также определён как noexcept и в случае ошибки возвращает nullptr. Предопределённые экземпляры, такие как NullMemoryResource [SWS_CORE_06563], также используют этот принцип и при вызовах выделения памяти последовательно возвращают nullptr. На более высоком уровне этот механизм взаимодействует с такими контейнерами, как ara::core::Vector [SWS_CORE_01315], операторы присваивания которых согласованы с подобными свойствами выделения памяти.

Этот текст был сгенерирован автоматически. Определяющей является спецификация 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#af6a5777
Content hash
af6a5777
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ed713f104c1d Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция-член allocate_bytes класса ara::core::PolymorphicAllocator резервирует непрерывную область памяти объемом nbytes с заданным выравниванием alignment [SWS_CORE_06549]. Значение по умолчанию для выравнивания соответствует alignof(std::max_align_t) [SWS_CORE_06549]. Функция подключается через заголовочный файл ara/core/memory_resource.h и выполняется синхронно [SWS_CORE_06549].

Обработка ошибок и семантика

В отличие от стандартного поведения согласно [mem.poly.allocator.class], реализация имеет два отличия [SWS_CORE_06549]:

  • Функция объявлена как noexcept и не генерирует исключений [SWS_CORE_06549].
  • Если выделение памяти завершается неудачей, функция возвращает nullptr вместо генерации исключения [SWS_CORE_06549].

Из-за атрибута [[nodiscard]] возвращаемое значение должно проверяться вызывающей стороной, в частности путем проверки на nullptr перед обращением к области памяти [SWS_CORE_06549].

Параллелизм и ограничения

С точки зрения потокобезопасности метод специфицирован как not thread-safe [SWS_CORE_06549]. Поэтому параллельные вызовы для одного и того же экземпляра, вероятно, требуют внешней синхронизации [SWS_CORE_06549]. Вопрос Q-85c74d55563cae38 (открытый) Относительно безопасности исключений операция считается exception safe [SWS_CORE_06549].

Этот текст был создан ИИ на основе спецификации.

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#6ab72a8d
Content hash
6ab72a8d
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: c04a4d5d02ff Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Шаблонная функция-член allocate_object является частью класса ara::core::PolymorphicAllocator и предоставляется через заголовочный файл #include "ara/core/memory_resource.h" [SWS_CORE_06551]. Она синхронно выделяет память для n объектов типа T, при этом параметр n по умолчанию инициализирован значением 1 [SWS_CORE_06551]. Атрибут компилятора [[nodiscard]] обязывает вызывающие стороны не игнорировать возвращаемый типизированный указатель T*.

Обработка ошибок

Спецификация определяет два явных отличия от стандарта [mem.poly.allocator.class] [SWS_CORE_06551]:

  • Никаких исключений: функция объявлена как noexcept и специфицирована как безопасная относительно исключений (exception safe) [SWS_CORE_06551].
  • Нулевой указатель в случае ошибки: если выделение памяти завершается неудачей, исключение не генерируется, а обязательно возвращается nullptr [SWS_CORE_06551].

Поэтому вызывающая сторона должна проверить полученный указатель на nullptr непосредственно перед дальнейшим использованием.

Параллелизм и ограничения

Операция специфицирована как непотокобезопасная (not thread-safe) [SWS_CORE_06551]. При параллельном использовании одного и того же экземпляра аллокатора, вероятно, потребуется внешняя синхронизация для предотвращения состояний гонки данных. Кроме того, функция резервирует только память (интерпретация: конструирование объектов в зарезервированной памяти возлагается на последующие механизмы). Вопрос Q-c41df2caaeb4c503 (открытый)

Этот текст был создан ИИ и основан на спецификации 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#f0a5b779
Content hash
f0a5b779
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: b824902bd6dd Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Шаблонная функция construct класса ara::core::PolymorphicAllocator ([SWS_CORE_06555]) служит для синхронного создания объекта типа T по переданному адресу памяти p с прямой передачей аргументов args.... Она определена в заголовочном файле ara/core/memory_resource.h и в основном следует требованиям из [mem.poly.allocator.class].

Явное отличие от стандарта C++ касается обработки исключений: согласно [SWS_CORE_06555] функция условно объявлена как noexcept, в зависимости от того, выполняется ли std::is_nothrow_constructible<T, Args...>::value. Спецификация тем самым присваивает ей признак conditionally exception safe. Интерпретация: если T не может быть сконструирован без исключений, любые исключения конструктора, вероятно, будут беспрепятственно передаваться вызывающей стороне, поскольку внутренние коды ошибок или специальные механизмы перехвата не определены. Вопрос Q-ad77510f396e59ae (открытый)

Что касается параллелизма и граничных условий, construct специфицирована как непотокобезопасная (not thread-safe) ([SWS_CORE_06555]). При параллельном доступе к одному и тому же экземпляру аллокатора или к одной и той же области памяти внешняя синхронизация в контексте вызова строго обязательна.

Архитектурный шаблон объявления noexcept в зависимости от типа соответствует соглашениям в ara::core, которые используются, помимо прочего, и в конструкторах ara::core::Result ([SWS_CORE_00725], [SWS_CORE_00726]).

Этот пункт использования был создан автоматически и опирается исключительно на спецификацию 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#6fc2805f
Content hash
6fc2805f
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 2c2725501203 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция-член deallocate класса ara::core::PolymorphicAllocator освобождает ранее выделенную память для n объектов типа Tp, начиная с адреса p [SWS_CORE_06548]. Объявление находится в заголовочном файле ara/core/memory_resource.h [SWS_CORE_06548]. Функция в целом следует семантике стандартного аллокатора C++ согласно [mem.poly.allocator.class], однако имеет два специфических отличия [SWS_CORE_06548].

Обработка ошибок и безопасность исключений

В качестве существенного отличия операция объявлена как noexcept и специфицирована как исключебно-безопасная (exception safe) [SWS_CORE_06548]. Если освобождение памяти завершается неудачей, возникающие ошибки молча игнорируются (silently ignored), так что исключения не генерируются и явные коды ошибок не возвращаются [SWS_CORE_06548].

Параллелизм и взаимодействие

Что касается контекста вызова, deallocate классифицирована как непотокобезопасная (not thread-safe) [SWS_CORE_06548]. В концепции управления памятью эта функция соответствует методу deallocate базового класса ara::core::MemoryResource [SWS_CORE_06504], для которого действуют те же отличия относительно noexcept и молчаливой обработки ошибок.

Это указание по использованию было создано автоматически и основано исключительно на требованиях спецификации 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#47111896
Content hash
47111896
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: faf22ebd97f2 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция deallocate_bytes класса ara::core::PolymorphicAllocator служит для освобождения ранее выделенной области памяти согласно [SWS_CORE_06550]. Она предоставляется через заголовочный файл ara/core/memory_resource.h и в целом ориентируется на семантику из [mem.poly.allocator.class].

Вызов выполняется синхронно и ожидает следующие параметры согласно [SWS_CORE_06550]:

  • p: указатель (void*) на освобождаемую область памяти.
  • nbytes: размер освобождаемой памяти в байтах (std::size_t).
  • alignment: желаемое выравнивание (значение по умолчанию alignof(std::max_align_t)).

В отношении поведения при ошибках реализация имеет специфические отличия от стандарта: функция объявлена как noexcept и считается безопасной относительно исключений (exception safe). Если освобождение завершается неудачей, возникающие ошибки молча игнорируются (silently ignored) согласно [SWS_CORE_06550]. Исключения не генерируются, и возвращаемые значения не предоставляются.

Касательно параллелизма и ограничений функция явно специфицирована как непотокобезопасная (not thread-safe) [SWS_CORE_06550]. Конкурентный доступ к одному и тому же экземпляру аллокатора без внешней синхронизации, вероятно, приведет к неопределенному поведению. Вопрос Q-33c80e3bb50ed64f (открытый)

Этот пункт использования был создан автоматически на основе релиза 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#91186cb5
Content hash
91186cb5
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: d1e41bdb2142 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Шаблонная функция deallocate_object класса ara::core::PolymorphicAllocator служит для освобождения ранее зарезервированной памяти объектов [SWS_CORE_06552]. Она ориентируется на соответствующее использование стандарта C++ согласно [mem.poly.allocator.class], однако имеет специфические отличия [SWS_CORE_06552].

В отношении параметров и контекста вызова действуют следующие свойства [SWS_CORE_06552]:

  • Сигнатура: template <class T> void deallocate_object (T *p, std::size_t n=1) noexcept; [SWS_CORE_06552].
  • Заголовочный файл: функция доступна через #include "ara/core/memory_resource.h" [SWS_CORE_06552].
  • Возвращаемое значение: операция не возвращает значения (void) [SWS_CORE_06552].
  • Поведение при нулевом указателе: в качестве явного отличия специфицировано, что функция срабатывает при передаче nullptr или поддерживает нулевые указатели («Function is nullptr») [SWS_CORE_06552].

Что касается обработки ошибок, функция объявлена как noexcept и считается безопасной относительно исключений (exception safe) [SWS_CORE_06552]. Если деаллокация завершается неудачей, возникающие ошибки молча игнорируются («errors will be silently ignored»), поэтому исключения не распространяются наружу [SWS_CORE_06552].

В качестве существенного ограничения deallocate_object классифицируется как непотокобезопасная (not thread-safe) [SWS_CORE_06552]. При параллельном доступе к одному и тому же экземпляру аллокатора из нескольких потоков вызовы должны быть защищены внешними механизмами синхронизации.

Этот текст был создан ИИ и основан исключительно на спецификациях релиза 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#cd341947
Content hash
cd341947
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: c42857d5d063 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция-член delete_object класса ara::core::PolymorphicAllocator служит согласно [SWS_CORE_06554] для уничтожения и освобождения памяти объекта типа T, на который указывает переданный указатель p. Функция предоставляется через заголовочный файл #include "ara/core/memory_resource.h" и следует поведению из [mem.poly.allocator.class] со специфическими отличиями.

В отношении контекста вызова и семантики действуют следующие свойства:

  • Возвращаемое значение и исключения: функция не имеет возвращаемого значения (void). Она является условно не генерирующей исключений (conditionally noexcept) со спецификацией noexcept(std::is_nothrow_destructible<T>::value), то есть не выбрасывает исключений, если деструктор T объявлен как невыбрасывающий [SWS_CORE_06554].
  • Обработка ошибок: если операция завершается неудачей, возникшие ошибки молча игнорируются (errors will be silently ignored) [SWS_CORE_06554]. Интерпретация: таким образом, вызывающие стороны в случае ошибки не получают ни сообщения об ошибке, ни кода ошибки, ни исключения. Вопрос Q-9393b0f68a055e4b (открытый)
  • Потокобезопасность: операция специфицирована как непотокобезопасная (not thread-safe) [SWS_CORE_06554]. При конкурентном использовании одного и того же аллокатора в нескольких потоках синхронизация возлагается на вызывающую сторону.

Этот текст был сгенерирован ИИ на основе спецификации 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#a1926377
Content hash
a1926377
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: d8b5334c8292 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Шаблонная функция-член destroy класса ara::core::PolymorphicAllocator ([SWS_CORE_06556]) служит для уничтожения объекта типа T, на который указывает указатель p. Функция объявлена в заголовочном файле ara/core/memory_resource.h и в целом следует стандартизированному поведению из [mem.poly.allocator.class] ([SWS_CORE_06556]). Вызов метода не возвращает значения и выполняется синхронно в контексте вызывающего потока. Интерпретация: при этом предполагается, что p указывает на действительный, ранее созданный объект. Вопрос Q-a4faf7034eb683dd (открытый)

Обработка ошибок и безопасность исключений

Что касается обработки ошибок, функция классифицируется как условно безопасная относительно исключений (conditionally exception safe) ([SWS_CORE_06556]). В качестве специфического отличия от стандартного требования [mem.poly.allocator.class] destroy условно объявлена с noexcept(std::is_nothrow_destructible<T>::value) ([SWS_CORE_06556]). Если деструктор переданного типа T не генерирует исключений, безисключительность распространяется на весь вызов; в противном случае исключения, возникающие в деструкторе, могут распространяться вовне.

Параллелизм и ограничения

Относительно поведения при конкурентности destroy специфицирована как непотокобезопасная (not thread-safe) ([SWS_CORE_06556]). Если несколько потоков одновременно обращаются к одному и тому же экземпляру ara::core::PolymorphicAllocator или к уничтожаемому объекту, необходимо настроить подходящие внешние механизмы синхронизации.

Этот пункт использования был автоматически сгенерирован на основе спецификации 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#05863870
Content hash
05863870
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: d4720bb5fd75 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Шаблонная функция-член new_object класса ara::core::PolymorphicAllocator (определенная в #include "ara/core/memory_resource.h") синхронно выделяет память и конструирует объект типа T с переданными аргументами конструктора ctor_args [SWS_CORE_06553].

Использование подчиняется следующим правилам и отличиям от стандарта [mem.poly.allocator.class] [SWS_CORE_06553]:

  • Вызов и возвращаемое значение: при успешном создании объекта возвращается типизированный указатель T* на новый экземпляр. Атрибут [[nodiscard]] обязывает вызывающие стороны обрабатывать возвращаемое значение.
  • Обработка ошибок: в случае неудачи, в отличие от [mem.poly.allocator.class], исключение не генерируется, а возвращается nullptr. Поэтому вызывающая сторона перед обращением обязательно должна проверить результирующий указатель на nullptr.
  • Безопасность исключений: функция специфицирована как условно безопасная относительно исключений (conditionally exception safe). Она является noexcept тогда и только тогда, когда само создание объекта гарантированно не генерирует исключений (noexcept(std::is_nothrow_constructible<T, CtorArgs...>::value)).
  • Параллелизм: функция объявлена как непотокобезопасная (not thread-safe). Интерпретация: при одновременном доступе к одному и тому же экземпляру ara::core::PolymorphicAllocator вызывающая сторона, вероятно, отвечает за надлежащую внешнюю синхронизацию. Вопрос Q-3d0ecfe34187c91e (открытый)

Данное указание по использованию сгенерировано автоматически на основе 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#7ee92eeb
Content hash
7ee92eeb
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

функция 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#e1825f4f
Content hash
e1825f4f
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

функция 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#3cfcf4c8
Content hash
3cfcf4c8
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

функция resource [SWS_CORE_06557]

MemoryResource * resource () const noexcept;

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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 90f4d7f53a57 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод resource является константной функцией-членом класса ara::core::PolymorphicAllocator из заголовочного файла #include "ara/core/memory_resource.h" [SWS_CORE_06557]. Согласно ссылке на спецификацию [mem.poly.allocator.class], он служит для синхронного получения назначенного ресурса памяти [SWS_CORE_06557].

Использование и сигнатура

Сигнатура функции имеет вид MemoryResource * resource () const noexcept; [SWS_CORE_06557]. Вызов выполняется без параметров и синхронно на экземпляре ara::core::PolymorphicAllocator. В качестве возвращаемого значения функция возвращает указатель типа MemoryResource* [SWS_CORE_06557]. Интерпретация: возвращаемый указатель, вероятно, указывает непосредственно на конкретный ресурс памяти, который аллокатор использует для операций с памятью. Вопрос Q-392683a38a4e490b (открытый)

Обработка ошибок и параллелизм

  • Безопасность исключений: функция объявлена как noexcept и классифицирована как exception safe [SWS_CORE_06557]. Она не генерирует исключений, и специфические коды ошибок не определены.
  • Потокобезопасность: спецификация явно определяет метод как thread-safe [SWS_CORE_06557]. Благодаря квалификатору const одновременный доступ по чтению из нескольких потоков безопасен.

Взаимодействие

В модуле core resource предоставляет интерфейс для запроса инкапсулированного ara::core::PolymorphicAllocator MemoryResource и вызова его операций [SWS_CORE_06557].

Это указание по использованию было сгенерировано ИИ на основе спецификации 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#07f1f657
Content hash
07f1f657
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

функция 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: c103d893236c Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция-член select_on_container_copy_construction принадлежит области видимости класса ara::core::PolymorphicAllocator и объявляется через заголовочный файл #include "ara/core/memory_resource.h" ([SWS_CORE_06573]). Она вызывается синхронно, чтобы при конструкторе копирования контейнера создать новый экземпляр PolymorphicAllocator ([SWS_CORE_06573]). При этом функциональное поведение соответствует требованию [mem.poly.allocator.class] ([SWS_CORE_06573]). Интерпретация: результирующий аллокатор, вероятно, конструируется по умолчанию и тем самым обращается к стандартному ресурсу памяти вместо обязательного копирования ресурса памяти исходного контейнера. Вопрос Q-134ed967dc22e133 (открытый)

Обработка ошибок и безопасность исключений

Ключевое отличие от общей спецификации C++ заключается в том, что функция в AUTOSAR явно объявлена как noexcept ([SWS_CORE_06573]). Выполнение определено как безопасное относительно исключений (exception safe) ([SWS_CORE_06573]). Специфические коды ошибок, возвращаемые значения для индикации ошибок или сообщения в DET или DEM для этого интерфейса не предусмотрены, так как вызов гарантированно завершается безошибочно.

Параллелизм и ограничения

Согласно спецификации функция классифицирована как not thread-safe ([SWS_CORE_06573]). Это означает, что одновременные вызовы на одном и том же экземпляре PolymorphicAllocator из нескольких потоков без внешней синхронизации могут привести к состоянию гонки данных. Перед копированием контейнера в многопоточных средах доступ к объекту аллокатора должен быть защищен пользователем.

Этот пункт использования был создан автоматически на основе спецификации 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_06573
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06573@rel:R25-11#28c40a17
Content hash
28c40a17
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

Документация псевдонимов типов

псевдоним типа 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#2d8f8b0f
Content hash
2d8f8b0f
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