DEENESPTFRRUARHIKOZHNL

класс ara::core::MonotonicBufferResource

[SWS_CORE_06520] Upstream: RS_AP_00130

class MonotonicBufferResource :            public MemoryResource {...};

Implementation of std::pmr::monotonic_buffer_resource type from [mem.res.monotonic.buffer]

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

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

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

Управляет блоками памяти в монотонно растущем буфере с безисключительным выделением и групповым освобождением.

Класс ara::core::MonotonicBufferResource предоставляет специализированный ресурс памяти для быстрого, монотонного выделения из фиксированного буфера памяти или через вышестоящий upstream-ресурс. Запрошенная память выделяется пошагово и при отдельных деаллокациях не освобождается немедленно, а сбрасывается только пакетно через release() ([SWS_CORE_06530]). Все операции объявлены полностью безисключительными, при этом нехватка памяти сигнализируется возвратом nullptr вместо генерации исключения ([SWS_CORE_06569]). Экземпляры не являются копируемыми и требуют внешней синхронизации при параллельном доступе из нескольких потоков.

Контекст

Класс ara::core::MonotonicBufferResource представляет собой конкретный ресурс памяти в составе модуля core платформы AUTOSAR Adaptive и наследует базовый класс ara::core::MemoryResource. Он адаптирует известную из стандарта C++ концепцию std::pmr::monotonic_buffer_resource из [mem.res.monotonic.buffer] для связанных с безопасностью и детерминированных автомобильных приложений. Основная роль класса заключается в обслуживании запросов на выделение из непрерывной области памяти с минимальными накладными расходами на управление за счет монотонного распределения памяти.

В качестве партнеров по взаимодействию выступают, с одной стороны, вызывающие компоненты, полиморфные аллокаторы и контейнеры, запрашивающие блоки памяти во время выполнения. С другой стороны, класс взаимодействует с опциональным вышестоящим ресурсом памяти upstream (MemoryResource). Этот upstream-ресурс может передаваться через конструкторы, такие как [SWS_CORE_06521], и запрашиваться через метод доступа upstream_resource() ([SWS_CORE_06531]).

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

Инициализацией ara::core::MonotonicBufferResource можно управлять с помощью нескольких конструкторов. Наряду с конструктором по умолчанию без параметров ([SWS_CORE_06524]) доступны перегрузки, принимающие явный upstream-ресурс ([SWS_CORE_06521]), определяющие начальный размер буфера ([SWS_CORE_06525], [SWS_CORE_06522]) или использующие внешне предоставленную область сырой памяти (void* buffer, std::size_t buffer_size) в качестве исходного буфера ([SWS_CORE_06526], [SWS_CORE_06523]).

В отношении прав владения класс определен как строго некопируемый: конструктор копирования ([SWS_CORE_06527]) и оператор присваивания с копированием ([SWS_CORE_06529]) удалены (=delete). Однако, в отличие от стандарта ISO 14882, класс AUTOSAR реализует явную семантику перемещения через конструктор перемещения ([SWS_CORE_06576]) и оператор присваивания с перемещением ([SWS_CORE_06577]), каждый из которых определен как noexcept=default.

Уничтожение выполняется через деструктор ~MonotonicBufferResource() ([SWS_CORE_06528]). Существенное отличие AUTOSAR от стандарта заключается в том, что деструктор не объявлен виртуальным. С помощью метода release() ([SWS_CORE_06530]) вся выделенная память может быть сброшена до истечения времени жизни объекта.

При параллелизме необходимо учитывать строгое разделение: конструктор без параметров ([SWS_CORE_06524]), проверка на равенство do_is_equal() ([SWS_CORE_06571]) и опрос upstream_resource() ([SWS_CORE_06531]) объявлены потокобезопасными. Все параметризованные конструкторы ([SWS_CORE_06521], [SWS_CORE_06522], [SWS_CORE_06523], [SWS_CORE_06525], [SWS_CORE_06526]), операции выделения ([SWS_CORE_06569], [SWS_CORE_06570]), release() ([SWS_CORE_06530]), а также деструктор ([SWS_CORE_06528]) не являются потокобезопасными и требуют внешней синхронизации при параллельном доступе.

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

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

  1. Инстанцирование: приложение создает экземпляр, например, с заданием размера буфера и upstream-ресурса ([SWS_CORE_06522]) или фиксированного буфера ([SWS_CORE_06526]).
  2. Выделение: запросы памяти обслуживаются через защищенный метод do_allocate(bytes, alignment) ([SWS_CORE_06569]). Если имеющегося буфера недостаточно, экземпляр запрашивает новый буфер у upstream-ресурса.
  3. Деаллокация: вызовы do_deallocate(p, bytes, alignment) ([SWS_CORE_06570]) не уменьшают буфер индивидуально; внутренний указатель выделения монотонно перемещается дальше.
  4. Сброс буфера: с помощью release() ([SWS_CORE_06530]) все блоки памяти, полученные через upstream, освобождаются за один раз, и буфер становится готов к новым циклам.
  5. Сравнение ресурсов: с помощью do_is_equal() ([SWS_CORE_06571]) можно проверить, идентичны ли два ресурса памяти.
Монотонный цикл выделения и освобождения памятиПриложениеMonotonicBufferResourceUpstream-MemoryResourceErzeugungMonotonicBufferResource(initial_size, upstream)Speicher anforderndo_allocate(bytes, alignment)optInitialer Puffer unzureichendSpeicherblock anfordernallocate(bytes, alignment)Pufferspeicher bereitstellenУказатель на область памяти (или nullptr)Speicher freigebendo_deallocate(p, bytes, alignment)Freigabe stillschweigend ignorierenСбросить буферrelease()Allokierten Speicher freigeben

Диаграмма последовательности: типичный цикл памяти от выделения через игнорируемую деаллокацию до коллективного сброса через release(). Источники: [SWS_CORE_06522], [SWS_CORE_06569], [SWS_CORE_06570], [SWS_CORE_06530]

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

Класс следует строгим требованиям для встраиваемых систем без исключений: все функции-члены, конструкторы и операторы объявлены как noexcept и обеспечивают полную безопасность относительно исключений.

В случае ошибки поведение намеренно отличается от стандартной библиотеки:

  • Неудачное выделение памяти: если запрос в do_allocate() ([SWS_CORE_06569]) не может быть обслужен, исключение std::bad_alloc не выбрасывается, а возвращается nullptr. Вызывающие стороны обязаны проверять возвращаемое значение на nullptr.
  • Ошибка при деаллокации: если при освобождении в do_deallocate() ([SWS_CORE_06570]) возникает ошибка, согласно спецификации она негласно игнорируется.
  • Уничтожение через указатель на базовый класс: поскольку деструктор ([SWS_CORE_06528]) не является виртуальным, уничтожение через указатель на базовый класс MemoryResource, вероятно, приведет к неопределенному поведению (интерпретация: уничтожение должно осуществляться через конкретный тип). Вопрос Q-add18020b48f3131 (открытый)

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

Карта членов

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

2

Операторы

1

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

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

G nara__core__MonotonicBufferResource118 MonotonicBufferResource + MonotonicBufferResource() + operator=() + ~MonotonicBufferResource() + release() + upstream_resource() + do_allocate() + do_deallocate() + do_is_equal() nara__core__MemoryResource130 MemoryResource nara__core__MonotonicBufferResource118->nara__core__MemoryResource130

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

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

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

MonotonicBufferResource функция 8

except for the following deviations: 1. The function is noexcept ≙ [mem.res.monotonic.buffer]

Перегрузки MonotonicBufferResource 8
explicit MonotonicBufferResource (MemoryResource *upstream) noexcept; SWS_CORE_06521
MonotonicBufferResource (std::size_t initial_size, MemoryResource *upstream) noexcept; SWS_CORE_06522
MonotonicBufferResource (void *buffer, std::size_t buffer_size, Memory Resource *upstream) noexcept; SWS_CORE_06523
MonotonicBufferResource () noexcept; SWS_CORE_06524
explicit MonotonicBufferResource (std::size_t initial_size) noexcept; SWS_CORE_06525
MonotonicBufferResource (void *buffer, std::size_t buffer_size) noexcept; SWS_CORE_06526
MonotonicBufferResource (const MonotonicBufferResource &)=delete; SWS_CORE_06527
MonotonicBufferResource (MonotonicBufferResource &&other) noexcept=default; SWS_CORE_06576

except for the following deviations: 1. The function is noexcept 2. The function is not virtual ≙ [mem.res.monotonic.buffer]

~MonotonicBufferResource () noexcept override;

Методы

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.monotonic.buffer]

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

except for the following deviations: 1. The function is noexcept ≙ [mem.res.monotonic.buffer]

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

except for the following deviations: 1. The function is noexcept ≙ [mem.res.monotonic.buffer]

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

except for the following deviations: 1. The function is noexcept ≙ [mem.res.monotonic.buffer]

MemoryResource * upstream_resource () const noexcept;

Операторы

operator= функция 2

≙ [mem.res.monotonic.buffer]

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

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

функция MonotonicBufferResource [SWS_CORE_06521]

explicit MonotonicBufferResource (MemoryResource *upstream) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

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

функция MonotonicBufferResource [SWS_CORE_06522]

MonotonicBufferResource (std::size_t initial_size, MemoryResource *upstream) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

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

функция MonotonicBufferResource [SWS_CORE_06523]

MonotonicBufferResource (void *buffer, std::size_t buffer_size, Memory Resource *upstream) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

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

функция MonotonicBufferResource [SWS_CORE_06524]

MonotonicBufferResource () noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

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

функция MonotonicBufferResource [SWS_CORE_06525]

explicit MonotonicBufferResource (std::size_t initial_size) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

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

функция MonotonicBufferResource [SWS_CORE_06526]

MonotonicBufferResource (void *buffer, std::size_t buffer_size) noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

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

функция MonotonicBufferResource [SWS_CORE_06527]

MonotonicBufferResource (const MonotonicBufferResource &)=delete;

As per corresponding usage in [mem.res.monotonic.buffer]

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

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

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

функция MonotonicBufferResource [SWS_CORE_06576] Upstream: RS_AP_00145

MonotonicBufferResource (MonotonicBufferResource &&other) noexcept=default;

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

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

Parameter (in)

ParameterBeschreibung
otherother MonotonicBufferResource to move from

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

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

функция do_allocate [SWS_CORE_06569]

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

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

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

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

Защищённая функция-член do_allocate класса ara::core::MonotonicBufferResource служит для выделения областей памяти согласно [mem.res.monotonic.buffer] [SWS_CORE_06569]. Она реализует чисто виртуальный интерфейс do_allocate базового класса ara::core::MemoryResource [SWS_CORE_06566]. В качестве интерпретации: синхронный вызов в силу видимости protected, вероятно, происходит преимущественно косвенно через открытые методы выделения памяти базового класса. Вопрос Q-21b2da19c0fd7f8f (открытый) Функция принимает запрашиваемый размер в байтах, а также требуемое выравнивание (alignment).

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

В отличие от стандартного поведения C++, функция при ошибках выделения памяти не генерирует исключение std::bad_alloc, а возвращает вместо этого nullptr [SWS_CORE_06569]. Благодаря объявлению с noexcept метод специфицирован как исключебно-безопасный [SWS_CORE_06569]. Поэтому вызывающий код всегда должен проверять результат на nullptr для обнаружения нехватки памяти.

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

Метод специфицирован как непотокобезопасный [SWS_CORE_06569]. Если операции выделения памяти инициируются параллельно из нескольких потоков, синхронизация должна выполняться извне вызывающей стороной. Это соответствует поведению ara::core::UnsynchronizedPoolResource::do_allocate [SWS_CORE_00058], тогда как ara::core::SynchronizedPoolResource::do_allocate для параллельных вызовов спроектирован как потокобезопасный [SWS_CORE_00061].

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

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

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

Rückgabewert

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

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

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

функция do_deallocate [SWS_CORE_06570]

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

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

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

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

Функция-член do_deallocate класса ara::core::MonotonicBufferResource служит для освобождения областей памяти согласно [SWS_CORE_06570]. Она определена в заголовочном файле #include "ara/core/memory_resource.h" [SWS_CORE_06570]. Функция принимает указатель p на освобождаемую область памяти, а также параметры bytes и alignment (оба типа std::size_t) и не возвращает значения (void) [SWS_CORE_06570]. Семантика следует определению в [mem.res.monotonic.buffer] со специфическими отличиями AUTOSAR [SWS_CORE_06570].

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

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

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

Что касается параллелизма, do_deallocate специфицирована как непотокобезопасная (not thread-safe) [SWS_CORE_06570]. Одновременный вызов из нескольких потоков без внешней синхронизации недопустим. Метод имеет видимость protected и переопределяет чисто виртуальный интерфейс базового класса ara::core::MemoryResource [SWS_CORE_06567]. Интерпретация: вызовы обычно должны производиться через открытый интерфейс освобождения памяти базового класса. Вопрос Q-6916292acaa8993b (открытый)

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

В то время как базовый класс ara::core::MemoryResource предписывает метод освобождения памяти с закрытой видимостью [SWS_CORE_06567], MonotonicBufferResource и родственные классы ara::core::SynchronizedPoolResource [SWS_CORE_00041] и ara::core::UnsynchronizedPoolResource [SWS_CORE_00059] реализуют его защищённым (protected) с молчаливой обработкой ошибок. В отличие от синхронизированного пулового ресурса [SWS_CORE_00041], являющегося потокобезопасным, MonotonicBufferResource, как и ara::core::UnsynchronizedPoolResource [SWS_CORE_00059], требует исключения параллельных обращений.

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

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

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

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

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

функция do_is_equal [SWS_CORE_06571]

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

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

Метод со спецификатором protected do_is_equal класса ara::core::MonotonicBufferResource переопределяет чисто виртуальный интерфейс базового класса ara::core::MemoryResource согласно [SWS_CORE_06571]. Он синхронно сравнивает текущий экземпляр с переданным const MemoryResource &other на равенство в отношении семантики управления памятью.

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

Вызов обычно выполняется косвенно через открытый интерфейс MemoryResource. Согласно [SWS_CORE_06571] поведение ориентируется на применение в [mem.res.monotonic.buffer], однако имеет явное отличие, заключающееся в том, что функция объявлена как noexcept. Возвращаемым значением является bool, указывающее, взаимозаменяемы ли или идентичны оба ресурса.

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

  • Безопасность исключений: функция специфицирована как exception safe и благодаря сигнатуре noexcept согласно [SWS_CORE_06571] не генерирует исключений. Специфические коды ошибок или сообщения DET/DEM отсутствуют.
  • Потокобезопасность: операция классифицирована как thread-safe ([SWS_CORE_06571]) и может выполняться параллельно.

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

Функция реализует виртуальный контракт из ara::core::MemoryResource ([SWS_CORE_06568]). Аналогичные реализации сравнения на равенство встречаются и в других ресурсах памяти, таких как ara::core::SynchronizedPoolResource ([SWS_CORE_00042]) и ara::core::UnsynchronizedPoolResource ([SWS_CORE_00060]).

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

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

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

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

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

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

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

As per corresponding usage in [mem.res.monotonic.buffer]

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

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

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

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

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

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

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

Parameter (in)

ParameterBeschreibung
otherother MonotonicBufferResource to move from

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

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

функция release [SWS_CORE_06530]

void release () noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

Функция-член release() класса ara::core::MonotonicBufferResource ([SWS_CORE_06530]) служит для освобождения памяти, управляемой буферным ресурсом. Вызов выполняется синхронно, не принимает параметров и не возвращает значения (void).

Что касается обработки ошибок, функция объявлена как noexcept и специфицирована как исключебно-безопасная (exception safe) ([SWS_CORE_06530]). Специфические коды ошибок отсутствуют, и сообщения об ошибках в центральные диагностические службы или службы оповещения не отправляются.

Относительно параллелизма release() явно классифицирована как непотокобезопасная (not thread-safe) ([SWS_CORE_06530]). Конкурентный доступ к одному и тому же экземпляру без внешней синхронизации недопустим. Интерпретация: в силу семантики, основанной на [mem.res.monotonic.buffer], при вызове, вероятно, становятся недействительными все области памяти, ранее предоставленные через этот ресурс. Вопрос Q-bd46bd9971926d95 (открытый)

Во взаимодействии ресурсов памяти из #include "ara/core/memory_resource.h" данная функция отличается по поведению при параллельном доступе от ara::core::SynchronizedPoolResource::release(), являющейся потокобезопасной ([SWS_CORE_00037]), в то время как она ведёт себя аналогично ara::core::UnsynchronizedPoolResource::release(), которая также не является потокобезопасной ([SWS_CORE_00065]).

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06530
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06530@rel:R25-11#326e83f7
Content hash
326e83f7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06530
Status: valid/unmigrated Version: rel:R25-11#69f783e0 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_06530@rel:R25-11#69f783e0
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#819676212026-09-30
  • R23-11rel:R23-11#691b1b062026-10-14
  • R24-11rel:R24-11#83f3869e2026-10-14
  • R25-11rel:R25-11#69f783e02026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция upstream_resource [SWS_CORE_06531]

MemoryResource * upstream_resource () const noexcept;

As per corresponding usage in [mem.res.monotonic.buffer] except for the following deviations: 1. The function is noexcept

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

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

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

Относительно параллелизма метод специфицирован как const, а также как потокобезопасный (thread-safe) [SWS_CORE_06531]. Благодаря этому указатель на вышестоящий ресурс (upstream resource) можно запрашивать из нескольких потоков параллельно без внешней синхронизации.

Функциональная семантика следует определению в [mem.res.monotonic.buffer], однако имеет нормативное отличие, заключающееся в том, что в стандарте AUTOSAR Adaptive функция явно определена как noexcept [SWS_CORE_06531]. Аналогичный шаблон интерфейса для предоставления вышестоящего ресурса используют также родственные классы ara::core::SynchronizedPoolResource [SWS_CORE_00038] и ara::core::UnsynchronizedPoolResource [SWS_CORE_00056].

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

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

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

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

функция ~MonotonicBufferResource [SWS_CORE_06528]

~MonotonicBufferResource () noexcept override;

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

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

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

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