DEENESPTFRRUARHIKOZHNL

класс ara::core::SynchronizedPoolResource

[SWS_CORE_00029] Upstream: RS_AP_00130

class SynchronizedPoolResource :           public MemoryResource {...};

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

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

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

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

Предоставляет потокобезопасный пуловый ресурс памяти для эффективного выделения и освобождения блоков памяти.

Класс ara::core::SynchronizedPoolResource предоставляет потокобезопасный ресурс памяти, который обрабатывает операции выделения через внутренние пулы и запрашивает дополнительную память у вышестоящего восходящего ресурса ([SWS_CORE_00030]). В отличие от стандарта C++, при сбоях выделение памяти не генерирует исключений, а вместо этого возвращает nullptr ([SWS_CORE_00061]). Операции копирования полностью запрещены, тогда как операции перемещения явно поддерживаются. Кроме того, деструктор не является виртуальным, поэтому экземпляры нельзя полиморфно освобождать через указатель на базовый класс.

Контекст

Класс ara::core::SynchronizedPoolResource предоставляет потокобезопасный ресурс памяти для AUTOSAR Adaptive Platform в рамках модуля core. Он основан на концепции std::pmr::synchronized_pool_resource согласно стандарту C++ [mem.res.pool] и открыто наследуется от базового класса MemoryResource. Его основная задача заключается в управлении блоками памяти через внутренние пулы по классам размеров для эффективной и параллельной обработки повторяющихся операций выделения. Если внутреннего запаса недостаточно, экземпляр получает более крупные блоки памяти от вышестоящего восходящего ресурса памяти ([SWS_CORE_00038]).

К типичным партнерам по взаимодействию относятся параллельные потоки приложения, запрашивающие выделение, SynchronizedPoolResource в качестве промежуточного диспетчера пулов, а также базовый MemoryResource в качестве восходящего источника. Все центральные функции доступа и управления, такие как do_allocate, do_deallocate, options и release, спроектированы как потокобезопасные ([SWS_CORE_00061], [SWS_CORE_00041], [SWS_CORE_00039], [SWS_CORE_00037]).

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

Контекстная диаграмма: взаимодействие параллельных потоков приложения, пулового ресурса и восходящего источника памяти. Источники: [SWS_CORE_00030], [SWS_CORE_00038].

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

Инстанцирование SynchronizedPoolResource может выполняться через несколько перегрузок конструктора. Если доступны как параметры распределения (PoolOptions), так и восходящий ресурс, инициализация гарантирует полную безопасность относительно исключений и объявлена как noexcept ([SWS_CORE_00030]). Кроме того, существуют конструкторы без параметров ([SWS_CORE_00031]), только с восходящим указателем ([SWS_CORE_00032]) или только с параметрами пула ([SWS_CORE_00033]). Интерпретация: если восходящий указатель не передан, реализация, предположительно, обращается к платформозависимому стандартному ресурсу памяти. Вопрос Q-5dafb414672249dc (открытый)

Что касается отношений владения, класс строго исключает копирование: как конструктор копирования ([SWS_CORE_00034]), так и оператор присваивания копированием ([SWS_CORE_00036]) удалены (=delete). Однако, в отличие от стандарта ISO C++17, AUTOSAR явно определяет для этого класса семантику перемещения: конструктор перемещения ([SWS_CORE_00043]) и оператор присваивания перемещением ([SWS_CORE_00044]) доступны соответственно как noexcept=default.

Центральным аспектом уничтожения является отклонение от стандартного поведения: деструктор ~SynchronizedPoolResource() явно невиртуальный ([SWS_CORE_00035]). Интерпретация: поскольку деструктор не является виртуальным, полиморфное уничтожение через указатель базового класса MemoryResource*, вероятно, приведет к неопределенному поведению; поэтому экземпляры всегда следует освобождать через их конкретный тип. Вопрос Q-5add73880279b024 (открытый) Вызовом release() можно, кроме того, вернуть всю выделенную память восходящему ресурсу, в то время как объект ресурса остается неповрежденным ([SWS_CORE_00037]).

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

Типичный процесс включает инициализацию, многократное выделение и освобождение блоков памяти, а также окончательную очистку:

  1. Инициализация: приложение создает экземпляр с указанием параметров конфигурации и вышестоящего ресурса памяти ([SWS_CORE_00030]). Активные настройки можно запросить через options() ([SWS_CORE_00039]), восходящий указатель — через upstream_resource() ([SWS_CORE_00038]).
  2. Выделение памяти: запросы памяти обрабатываются защищенно через do_allocate ([SWS_CORE_00061]). Интерпретация: вызов в коде приложения обычно осуществляется не напрямую через защищенный метод do_allocate, а через унаследованный открытый интерфейс allocate базового класса MemoryResource. Вопрос Q-1542a47cdff73dfb (открытый)
  3. Проверка идентичности: через do_is_equal можно определить, эквивалентны ли два ресурса памяти друг другу ([SWS_CORE_00042]).
  4. Освобождение: отдельные области памяти возвращаются в пул через do_deallocate ([SWS_CORE_00041]). При необходимости через release() вся память всех пулов может быть возвращена восходящему ресурсу пакетом ([SWS_CORE_00037]).
Последовательность использования SynchronizedPoolResourceПриложениеSynchronizedPoolResourceUpstreamResourceUse Case: InitialisierungSynchronizedPoolResource(opts, &upstream)Use Case: Allokationdo_allocate(bytes, alignment)optПул исчерпан / требуется чанкSpeicher anfordernSpeicherbereichSpeicherzeiger / nullptrUse Case: Освобождение и очисткаdo_deallocate(p, bytes, alignment)release()вернуть память в апстрим

Диаграмма последовательности: типичная последовательность инициализации, запроса памяти, освобождения и очистки через восходящие ресурсы. Источники: [SWS_CORE_00030], [SWS_CORE_00061], [SWS_CORE_00041], [SWS_CORE_00037].

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

При обработке ошибок AUTOSAR Adaptive Platform целенаправленно отклоняется от конвенций об исключениях стандарта C++:

  • Ошибки выделения памяти: в то время как ISO C++ в случае исчерпания предусматривает генерацию std::bad_alloc, метод do_allocate в AUTOSAR определен как noexcept. Если подходящий блок памяти не может быть предоставлен, метод вместо этого обязательно возвращает нулевой указатель (nullptr) ([SWS_CORE_00061]). Поэтому вызывающие стороны должны проверять каждое возвращаемое значение выделения на nullptr.
  • Ошибки освобождения памяти: метод do_deallocate также является noexcept. Если при возврате блока памяти возникает ошибка, согласно спецификации она молча игнорируется ([SWS_CORE_00041]).
  • Риски конструирования: в то время как конструктор с параметрами и восходящим ресурсом является исключениебезопасным ([SWS_CORE_00030]), конструкторы без указания восходящего ресурса или без параметров классифицируются как не исключениебезопасные («not exception safe») ([SWS_CORE_00031], [SWS_CORE_00032], [SWS_CORE_00033]). Интерпретация: если в этих конструкторах происходит сбой внутреннего предоставления структур управления пулом, создание объекта может завершиться ошибкой. Вопрос (открытый)

Настоящее руководство по классу обобщает спецификацию ara::core::SynchronizedPoolResource для AUTOSAR Adaptive Release R25-11.

Карта членов

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

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

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

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

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

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

SynchronizedPoolResource функция 6

≙ [mem.res.pool]

Перегрузки SynchronizedPoolResource 6
SynchronizedPoolResource (const PoolOptions &opts, MemoryResource *upstream) noexcept; SWS_CORE_00030
SynchronizedPoolResource (); SWS_CORE_00031
explicit SynchronizedPoolResource (MemoryResource *upstream); SWS_CORE_00032
explicit SynchronizedPoolResource (const PoolOptions &opts); SWS_CORE_00033
SynchronizedPoolResource (const SynchronizedPoolResource &)=delete; SWS_CORE_00034
SynchronizedPoolResource (SynchronizedPoolResource &&other) noexcept=default; SWS_CORE_00043

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

~SynchronizedPoolResource () noexcept override;

Методы

do_allocate функция

except for the following deviations: 1. The function is noexcept 2. The function returns nullptr instead of (potentially) throwing a std::bad_alloc exception ≙ std::bad_alloc

void * do_allocate (std::size_t bytes, std::size_t alignment) noexcept override;
do_deallocate функция

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

void do_deallocate (void *p, std::size_t bytes, std::size_t alignment) noexcept override;
do_is_equal функция

≙ [mem.res.pool]

bool do_is_equal (const MemoryResource &other) const noexcept override;
options функция

≙ [mem.res.pool]

PoolOptions options () const noexcept;
release функция

≙ [mem.res.pool]

void release () noexcept;
upstream_resource функция

≙ [mem.res.pool]

MemoryResource * upstream_resource () const noexcept;

Операторы

operator= функция 2

≙ [mem.res.pool]

Перегрузки = 2

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

функция SynchronizedPoolResource [SWS_CORE_00030]

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

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00030
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00030@rel:R25-11#1e1d6b40
Content hash
1e1d6b40
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00030
Status: valid/unmigrated Version: rel:R25-11#1501c053 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00030@rel:R25-11#1501c053
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f8089aa92026-09-30
  • R24-11rel:R24-11#faeb22342026-10-14
  • R25-11rel:R25-11#1501c0532026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция SynchronizedPoolResource [SWS_CORE_00031]

SynchronizedPoolResource ();

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00031
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00031@rel:R25-11#28948902
Content hash
28948902
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00031
Status: valid/unmigrated Version: rel:R25-11#63c60a5b Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00031@rel:R25-11#63c60a5b
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#6a93df772026-09-30
  • R24-11rel:R24-11#be6b67802026-10-14
  • R25-11rel:R25-11#63c60a5b2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция SynchronizedPoolResource [SWS_CORE_00032]

explicit SynchronizedPoolResource (MemoryResource *upstream);

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00032
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00032@rel:R25-11#9a91cd7e
Content hash
9a91cd7e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00032
Status: valid/unmigrated Version: rel:R25-11#067110c6 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00032@rel:R25-11#067110c6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f8e2d78a2026-09-30
  • R24-11rel:R24-11#27e7852a2026-10-14
  • R25-11rel:R25-11#067110c62026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция SynchronizedPoolResource [SWS_CORE_00033]

explicit SynchronizedPoolResource (const PoolOptions &opts);

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00033
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00033@rel:R25-11#c213ea31
Content hash
c213ea31
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00033
Status: valid/unmigrated Version: rel:R25-11#5b044f0f Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00033@rel:R25-11#5b044f0f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#c83c02272026-09-30
  • R24-11rel:R24-11#7830448d2026-10-14
  • R25-11rel:R25-11#5b044f0f2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция SynchronizedPoolResource [SWS_CORE_00034]

SynchronizedPoolResource (const SynchronizedPoolResource &)=delete;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00034
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00034@rel:R25-11#d53ae9a2
Content hash
d53ae9a2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00034
Status: valid/unmigrated Version: rel:R25-11#0d5ed9ad Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00034@rel:R25-11#0d5ed9ad
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e9c9708e2026-09-30
  • R24-11rel:R24-11#599cf30b2026-10-14
  • R25-11rel:R25-11#0d5ed9ad2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция SynchronizedPoolResource [SWS_CORE_00043] Upstream: RS_AP_00145

SynchronizedPoolResource (SynchronizedPoolResource &&other) noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00043
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00043@rel:R25-11#a7fd087e
Content hash
a7fd087e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00043
Status: valid/unmigrated Version: rel:R25-11#107ef101 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00043@rel:R25-11#107ef101
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e85c46f22026-09-30
  • R24-11rel:R24-11#ee10a8d92026-10-14
  • R25-11rel:R25-11#107ef1012026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция do_allocate [SWS_CORE_00061]

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

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

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

Использование и семантика аллокации

Функция-член do_allocate класса ara::core::SynchronizedPoolResource из заголовочного файла #include "ara/core/memory_resource.h" служит для выделения областей памяти с указанным размером в байтах bytes и выравниванием alignment [SWS_CORE_00061]. В случае успеха синхронный вызов согласно [mem.res.pool] возвращает действительный указатель типа void* на выделенный блок памяти [SWS_CORE_00061].

Обработка ошибок и отклонения

В отношении поведения при ошибках реализация явно отклоняется от требований из [mem.res.pool]: метод объявлен как noexcept и не генерирует исключение std::bad_alloc [SWS_CORE_00061]. При сбое запроса памяти возвращаемый указатель вместо этого обязательно равен nullptr [SWS_CORE_00061]. Поэтому вызывающие стороны должны обязательно проверять возвращаемое значение на нулевой указатель, чтобы надёжно перехватывать ошибки аллокации.

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

Функция специфицирована как exception safe и, в отличие от других ресурсов памяти, как thread-safe [SWS_CORE_00061]. Из-за своей видимости protected на практике она, вероятно, выступает прежде всего как внутреннее переопределение чисто виртуального базового интерфейса do_allocate из ara::core::MemoryResource [SWS_CORE_06566]. Вопрос Q-95ba181693426bfc (открытый) В то время как ara::core::SynchronizedPoolResource обеспечивает безопасность параллельного доступа [SWS_CORE_00061], сопоставимые реализации, такие как ara::core::UnsynchronizedPoolResource::do_allocate [SWS_CORE_00058] и ara::core::MonotonicBufferResource::do_allocate [SWS_CORE_06569], определены как not thread-safe.

Этот текст был сгенерирован системой ИИ на основе спецификации AUTOSAR Adaptive R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

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

Rückgabewert

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00061
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00061@rel:R25-11#c19dfdcc
Content hash
c19dfdcc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00061
Status: valid/unmigrated Version: rel:R25-11#7fd00d51 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00061@rel:R25-11#7fd00d51
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e22e6db22026-09-30
  • R24-11rel:R24-11#2f88c08f2026-10-14
  • R25-11rel:R25-11#7fd00d512026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция do_deallocate [SWS_CORE_00041]

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

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

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

Защищённая функция-член do_deallocate класса ara::core::SynchronizedPoolResource служит для освобождения ранее выделенной области памяти согласно [SWS_CORE_00041]. Её вызов выполняется синхронно и ожидает в качестве параметров указатель p на область памяти, размер bytes в байтах, а также выравнивание памяти alignment. Поскольку функция-член объявлена с видимостью protected, в обычном коде приложения она, предположительно, вызывается не напрямую, а выполняется через открытый интерфейс деаллокации вышестоящего базового класса ara::core::MemoryResource ([SWS_CORE_06567]). Вопрос Q-badea921c907c214 (открытый)

В отношении обработки ошибок и поведения при исключениях спецификация определяет два обязательных отклонения от стандарта:

  • Функция объявлена как noexcept и полностью исключение-безопасна (exception safe) ([SWS_CORE_00041]).
  • Если деаллокация завершилась неудачно, возникшие ошибки молча игнорируются ([SWS_CORE_00041]). Не происходит ни генерации исключения, ни возврата кода ошибки.

В области параллелизма реализация в ara::core::SynchronizedPoolResource отличается тем, что она явно специфицирована как потокобезопасная (thread-safe) ([SWS_CORE_00041]). Тем самым она подходит для одновременного вызова из нескольких потоков. Этим она существенно отличается от родственных ресурсов ara::core::UnsynchronizedPoolResource ([SWS_CORE_00059]) и ara::core::MonotonicBufferResource ([SWS_CORE_06570]), которые классифицированы как непотокобезопасные.

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00041
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00041@rel:R25-11#61a5abcc
Content hash
61a5abcc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00041
Status: valid/unmigrated Version: rel:R25-11#c6457f44 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00041@rel:R25-11#c6457f44
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#874775232026-09-30
  • R24-11rel:R24-11#0c42970f2026-10-14
  • R25-11rel:R25-11#c6457f442026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция do_is_equal [SWS_CORE_00042]

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

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

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

Защищенная функция-член do_is_equal проверяет равенство экземпляра ara::core::SynchronizedPoolResource с другим ресурсом памяти [SWS_CORE_00042]. Она переопределяет чисто виртуальный метод базового класса из ara::core::MemoryResource [SWS_CORE_06568] согласно спецификации для пуловых ресурсов в [mem.res.pool].

Использование и интерфейс: в качестве параметра передается ссылка на другой объект ara::core::MemoryResource (const MemoryResource &other). Возвращаемое значение типа bool указывает, эквивалентны ли оба ресурса. Интерпретация: из-за видимости protected функция в обычном процессе приложения вызывается не напрямую, а выполняется через открытый метод сравнения базового класса. Вопрос Q-29fb2980d1241fae (открытый)

Обработка ошибок и безопасность: метод объявлен с идентификатором noexcept и специфицирован как exception safe [SWS_CORE_00042]. Не возникает ни исключений, ни специфических кодов ошибок. Выполнение происходит синхронно.

Параллелизм: согласно [SWS_CORE_00042], do_is_equal специфицирован как thread-safe, так что одновременные сравнения из нескольких потоков допустимы без дополнительной внешней синхронизации.

Взаимодействие: функция представляет собой потокобезопасный аналог реализации в ara::core::UnsynchronizedPoolResource [SWS_CORE_00060]. Также ara::core::MonotonicBufferResource предоставляет соответствующее переопределение, которое также обозначено как noexcept [SWS_CORE_06571].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR Adaptive R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00042
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00042@rel:R25-11#ab1f18cc
Content hash
ab1f18cc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00042
Status: valid/unmigrated Version: rel:R25-11#6ecf1a68 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00042@rel:R25-11#6ecf1a68
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#0fcf0b452026-09-30
  • R24-11rel:R24-11#d999b0d62026-10-14
  • R25-11rel:R25-11#6ecf1a682026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция operator= [SWS_CORE_00036]

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

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00036
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00036@rel:R25-11#2808881e
Content hash
2808881e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00036
Status: valid/unmigrated Version: rel:R25-11#71efdb4a Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00036@rel:R25-11#71efdb4a
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e3bdcb9c2026-09-30
  • R24-11rel:R24-11#fc1cd0a02026-10-14
  • R25-11rel:R25-11#71efdb4a2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция operator= [SWS_CORE_00044] Upstream: RS_AP_00145

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

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00044
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00044@rel:R25-11#c6041c45
Content hash
c6041c45
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00044
Status: valid/unmigrated Version: rel:R25-11#4a2251b2 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00044@rel:R25-11#4a2251b2
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#2845c0fb2026-09-30
  • R24-11rel:R24-11#9e9c91662026-10-14
  • R25-11rel:R25-11#4a2251b22026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция options [SWS_CORE_00039]

PoolOptions options () const noexcept;

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

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

Функция-член options класса ara::core::SynchronizedPoolResource синхронно возвращает сконфигурированные для ресурса памяти настройки типа PoolOptions [SWS_CORE_00039]. Вызов выполняется без параметров на экземпляре класса и объявлен через заголовочный файл ara/core/memory_resource.h [SWS_CORE_00039]. Поведение согласно спецификации ориентируется на [mem.res.pool] [SWS_CORE_00039], что можно интерпретировать как ориентацию на пул-ресурсы стандарта C++. Вопрос Q-9abfddc2cf8dc88c (открытый)

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

В отношении параллелизма метод специфицирован как const, а также явно как потокобезопасный (thread-safe) [SWS_CORE_00039]. Таким образом, его можно безопасно вызывать параллельно из нескольких потоков без дополнительных мер синхронизации на уровне приложения.

При взаимодействии внутри ara::core компонент [SWS_CORE_00057] предоставляет несинхронизированный аналог: для ara::core::UnsynchronizedPoolResource существует функция options с идентичными именем и сигнатурой и эквивалентной семантикой согласно [mem.res.pool].

Этот текст был сгенерирован ИИ и служит ориентировочным вспомогательным материалом по использованию.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00039
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00039@rel:R25-11#5c83b22c
Content hash
5c83b22c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00039
Status: valid/unmigrated Version: rel:R25-11#104880b6 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00039@rel:R25-11#104880b6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#065c07432026-09-30
  • R24-11rel:R24-11#d92abe712026-10-14
  • R25-11rel:R25-11#104880b62026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция release [SWS_CORE_00037]

void release () noexcept;

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

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

Синхронная функция-член release() принадлежит классу ara::core::SynchronizedPoolResource и предоставляется через заголовочный файл #include "ara/core/memory_resource.h" [SWS_CORE_00037]. Она имеет сигнатуру void release () noexcept;, не принимает параметров и не имеет возвращаемого значения. Функциональная семантика согласуется с соответствующим использованием в [mem.res.pool] [SWS_CORE_00037], посредством чего освобождается память, управляемая ресурсом памяти.

В отношении обработки ошибок функция объявлена как безопасная относительно исключений (exception safe) и noexcept [SWS_CORE_00037]. Исключения C++ не возникают; специфические коды ошибок или отчеты об ошибках через DET либо DEM в объеме спецификации не определены.

Что касается параллелизма, операция явно специфицирована как потокобезопасная (thread-safe) [SWS_CORE_00037]. Поэтому одновременный вызов из нескольких потоков для одного и того же экземпляра ресурса, предположительно, допустим без дополнительных блокировок со стороны приложения. Вопрос Q-3da3b45ca2070b3e (открытый)

Во взаимодействии поведение соответствует функционально аналогичному методу в ara::core::UnsynchronizedPoolResource [SWS_CORE_00065], который также ссылается на [mem.res.pool] и обозначен как noexcept, а также thread-safe. В отличие от этого, аналогичная функция release() из ara::core::MonotonicBufferResource [SWS_CORE_06530] согласно спецификации не является потокобезопасной (not thread-safe), хотя на нее также распространяется гарантия noexcept.

Этот текст был создан ИИ и основан исключительно на данных спецификации AUTOSAR R25-11.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00037
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00037@rel:R25-11#adfd6dad
Content hash
adfd6dad
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00037
Status: valid/unmigrated Version: rel:R25-11#e7871754 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00037@rel:R25-11#e7871754
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#adf41cb12026-09-30
  • R24-11rel:R24-11#00875b8f2026-10-14
  • R25-11rel:R25-11#e78717542026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция upstream_resource [SWS_CORE_00038]

MemoryResource * upstream_resource () const noexcept;

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

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

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

Функция-член upstream_resource() класса ara::core::SynchronizedPoolResource возвращает указатель на базовый вышестоящий ресурс памяти (MemoryResource*) согласно [SWS_CORE_00038]. Вызов выполняется синхронно и требует включения заголовочного файла #include "ara/core/memory_resource.h" [SWS_CORE_00038]. Функция не принимает входных параметров и служит исключительно инспектором вышестоящего блока управления памятью.

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

Метод объявлен как noexcept и согласно спецификации классифицирован как исключение-безопасный (exception safe) [SWS_CORE_00038]. Сбой запроса или генерация исключений исключены; коды ошибок для этого вызова отсутствуют.

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

Функция специфицирована как const, а также явно как потокобезопасная (thread-safe) [SWS_CORE_00038]. Таким образом, её можно вызывать параллельно из нескольких контекстов выполнения без дополнительной внешней синхронизации.

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

Концепция вышестоящего ресурса памяти согласованно предоставляется в различных реализациях пулов памяти AUTOSAR Adaptive Core:

  • В ara::core::UnsynchronizedPoolResource функционально идентичный метод [SWS_CORE_00056] также предоставляет указатель на upstream-ресурс, но ориентирован на сценарии пулов без внутренней синхронизации.
  • В ara::core::MonotonicBufferResource существует соответствующий аналог [SWS_CORE_06531], который также специфицирован как noexcept и потокобезопасный.

Это указание по использованию было сгенерировано автоматически на основе полезной нагрузки AUTOSAR.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00038
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00038@rel:R25-11#31d7b2c8
Content hash
31d7b2c8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00038
Status: valid/unmigrated Version: rel:R25-11#72bf42c6 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00038@rel:R25-11#72bf42c6
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#8f2216bb2026-09-30
  • R24-11rel:R24-11#4fe314762026-10-14
  • R25-11rel:R25-11#72bf42c62026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция ~SynchronizedPoolResource [SWS_CORE_00035]

~SynchronizedPoolResource () noexcept override;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00035
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00035@rel:R25-11#d5d69368
Content hash
d5d69368
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00035
Status: valid/unmigrated Version: rel:R25-11#ecac8c82 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00035@rel:R25-11#ecac8c82
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#7dd197ad2026-09-30
  • R24-11rel:R24-11#969d9a0a2026-10-14
  • R25-11rel:R25-11#ecac8c822026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill