DEENESPTFRRUARHIKOZHNL

класс ara::core::MemoryResource

[SWS_CORE_06500] Upstream: RS_AP_00130

class MemoryResource {...};

Implementation of std::pmr::memory_resource type from [mem.res.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 · Температура: не регулируется · Промпт: efd95fd8a941 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

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

Класс предоставляет абстрактный базовый интерфейс для полиморфных ресурсов памяти, созданный по образцу стандартного интерфейса C++. С помощью шаблона проектирования Non-Virtual Interface он делегирует запросы на выделение и освобождение производным классам ресурсов [SWS_CORE_06503]. В отличие от стандарта C++, все интерфейсные функции объявлены безысключительными, поэтому ошибки памяти сигнализируются не через исключение, а посредством возврата нулевого указателя [SWS_CORE_06566]. Кроме того, операции выделения и освобождения по умолчанию не являются потокобезопасными.

Контекст

Класс ara::core::MemoryResource в AUTOSAR Adaptive Platform (модуль core) предоставляет абстрактный базовый интерфейс для управления памятью, основанный на стандартном типе C++ std::pmr::memory_resource. Он служит общим фундаментом для взаимозаменяемых стратегий выделения и отвязывает вызывающие структуры данных от конкретных механизмов предоставления памяти. В качестве существенного отличия от стандарта ISO C++ спецификация AUTOSAR полностью отказывается от динамических исключений и формулирует для всех операций строгие гарантии noexcept [SWS_CORE_06501].

Архитектура следует шаблону Non-Virtual Interface (NVI): открытые невиртуальные функции-члены определяют фиксированный интерфейс для вызывающих сторон, тогда как фактическое поведение в производных классах должно реализовываться через закрытые чисто виртуальные функции-члены. Интерпретация: конкретные ресурсы памяти наследуются от ara::core::MemoryResource и переопределяют закрытые базовые интерфейсы do_allocate [SWS_CORE_06566], do_deallocate [SWS_CORE_06567], а также do_is_equal [SWS_CORE_06568], обеспечивая специализированное для приложения управление буферами или пулами. Вопрос Q-d09d47b0a8f6b822 (открытый)

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

Инстанцирование специализаций осуществляется через конструктор по умолчанию без параметров, который специфицирован как noexcept=default [SWS_CORE_06501]. Также доступны конструктор копирования noexcept [SWS_CORE_06502] и оператор присваивания копированием noexcept [SWS_CORE_06507]. В дополнение к стандарту C++ AUTOSAR явно определяет конструктор перемещения [SWS_CORE_06574] и оператор присваивания перемещением [SWS_CORE_06575], оба из которых заданы как noexcept=default.

Жизненный цикл полиморфных экземпляров защищается виртуальным деструктором, который объявлен безысключительным [SWS_CORE_06506]. В отношении параллелизма следует учитывать, что как деструктор, так и функции выделения и освобождения allocate [SWS_CORE_06503] и deallocate [SWS_CORE_06504] специфицированы как непотокобезопасные. Интерпретация: за потокобезопасные выделения и освобождения, по-видимому, отвечают вышестоящие механизмы синхронизации или специализированные подклассы, так как базовые методы специфицированы как непотокобезопасные. Вопрос Q-adac4b6cf6e0db7c (открытый) Проверка на равенство через is_equal, напротив, явно спроектирована потокобезопасной [SWS_CORE_06505].

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

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

  • Выделение памяти: вызывающая сторона вызывает allocate с указанием размера в байтах и опционального выравнивания [SWS_CORE_06503]. Метод внутри делегирует вызов закрытой чисто виртуальной функции do_allocate конкретного класса [SWS_CORE_06566].
  • Проверка на равенство: чтобы определить, эквивалентны ли два ресурса памяти друг другу и может ли память одного освобождаться другим, пользователь вызывает is_equal [SWS_CORE_06505], что делегирует выполнение do_is_equal [SWS_CORE_06568].
  • Освобождение памяти: после завершения использования блок возвращается через deallocate с указанием указателя, размера в байтах и выравнивания [SWS_CORE_06504], в результате чего происходит внутренняя переадресация в do_deallocate [SWS_CORE_06567].
Делегирование вызовов по схеме NVI при выделении и освобождении памятиВызывающая сторонаMemoryResourceKonkreteResourceUse Case: Speicherallokationallocate(bytes, alignment)do_allocate(bytes, alignment)altAllokation erfolgreichSpeicherzeigerSpeicherzeiger pAllokation fehlgeschlagennullptrnullptrUse Case: Speicherfreigabedeallocate(p, bytes, alignment)do_deallocate(p, bytes, alignment)ВозвратВозврат

Диаграмма последовательности: делегирование вызовов через шаблон NVI при выделении и освобождении. Источники: [SWS_CORE_06503], [SWS_CORE_06504], [SWS_CORE_06566], [SWS_CORE_06567]

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

Центральной особенностью класса является полное исключение исключений. В то время как стандарт ISO C++ на случай исчерпания памяти предусматривает исключение типа std::bad_alloc, AUTOSAR целенаправленно отступает от этого: если выделение памяти в allocate или do_allocate завершается неудачей, функция обязательно возвращает nullptr [SWS_CORE_06503], [SWS_CORE_06566]. С помощью атрибута [[nodiscard]] у allocate вызывающая сторона побуждается всегда принимать возвращаемое значение и проверять его корректность перед обращением.

Для операций освобождения deallocate и do_deallocate действует правило, согласно которому любые ошибки при возврате памяти неявно игнорируются [SWS_CORE_06504], [SWS_CORE_06567]. Никаких исключений не выбрасывается и кодов ошибок не возвращается, что облегчает соблюдение жестких требований реального времени и безопасности в контексте адаптивной платформы.

Этот текст подготовлен ИИ и основан исключительно на спецификациях AUTOSAR Adaptive Platform R25-11.

Карта членов

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

2

Операторы

1

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

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

G nara__core__MemoryResource130 MemoryResource + MemoryResource() + operator=() + ~MemoryResource() + allocate() + deallocate() + is_() + do_() nara__core__MonotonicBufferResource118 MonotonicBufferResource nara__core__MonotonicBufferResource118->nara__core__MemoryResource130 nara__core__SynchronizedPoolResource481 SynchronizedPoolResource nara__core__SynchronizedPoolResource481->nara__core__MemoryResource130 nara__core__UnsynchronizedPoolResource176 UnsynchronizedPoolResource nara__core__UnsynchronizedPoolResource176->nara__core__MemoryResource130

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

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

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

MemoryResource функция 3

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

Перегрузки MemoryResource 3
MemoryResource () noexcept=default; SWS_CORE_06501
MemoryResource (const MemoryResource &other) noexcept=default; SWS_CORE_06502
MemoryResource (MemoryResource &&other) noexcept=default; SWS_CORE_06574
~MemoryResource функция

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

virtual ~MemoryResource () noexcept;

Методы

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

[[nodiscard]] void * allocate (std::size_t bytes, std::size_t alignment=alignof(std::max_align_t)) noexcept;
deallocate функция

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

void deallocate (void *p, std::size_t bytes, std::size_t alignment=max_align) noexcept;
do_ функция 3

in [15] 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

Перегрузки do_ 3
virtual void * do_allocate (std::size_t bytes, std::size_t alignment) noexcept=0; SWS_CORE_06566
virtual void do_deallocate (void *p, std::size_t bytes, std::size_t alignment) noexcept=0; SWS_CORE_06567
virtual bool do_is_equal (const MemoryResource &other) const noexcept=0; SWS_CORE_06568
is_ функция

≙ [mem.res]

bool is_equal (const MemoryResource &other) const noexcept;

Операторы

operator= функция 2

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

Перегрузки = 2
MemoryResource & operator= (const MemoryResource &other) noexcept=default; SWS_CORE_06507
MemoryResource & operator= (MemoryResource &&other) noexcept=default; SWS_CORE_06575

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

функция MemoryResource [SWS_CORE_06501]

MemoryResource () noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06501@rel:R25-11#e758b718
Content hash
e758b718
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06501
Status: valid/unmigrated Version: rel:R25-11#b9f1b788 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_06501@rel:R25-11#b9f1b788
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#9befd4042026-09-30
  • R23-11rel:R23-11#f033a21e2026-10-14
  • R24-11rel:R24-11#fd91462c2026-10-14
  • R25-11rel:R25-11#b9f1b7882026-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

функция MemoryResource [SWS_CORE_06502] Upstream: RS_AP_00130

MemoryResource (const MemoryResource &other) noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06502
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06502@rel:R25-11#df5e20ba
Content hash
df5e20ba
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06502
Status: valid/unmigrated Version: rel:R25-11#c99831b9 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_06502@rel:R25-11#c99831b9
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#54ec446b2026-09-30
  • R23-11rel:R23-11#0d9d49792026-10-14
  • R24-11rel:R24-11#95d8ae9e2026-10-14
  • R25-11rel:R25-11#c99831b92026-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

функция MemoryResource [SWS_CORE_06574] Upstream: RS_AP_00145

MemoryResource (MemoryResource &&other) noexcept=default;

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

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

Parameter (in)

ParameterBeschreibung
otherother MemoryResource to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_06574
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06574@rel:R25-11#d7c7a701
Content hash
d7c7a701
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06574
Status: valid/unmigrated Version: rel:R25-11#95490182 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_06574@rel:R25-11#95490182
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#265cf3bf2026-09-30
  • R24-11rel:R24-11#ab47979b2026-10-14
  • R25-11rel:R25-11#954901822026-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_06503]

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

As per corresponding usage in [mem.res] 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 · Температура: не регулируется · Промпт: 6735dc6d085f Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция-член allocate класса ara::core::MemoryResource служит для выделения непрерывной памяти заданного размера в байтах и выравнивания [SWS_CORE_06503]. Она ориентируется на стандартный интерфейс C++ [mem.res], однако существенно отличается в части обработки исключений [SWS_CORE_06503].

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

Вызов выполняется синхронно с передачей параметров bytes (количество запрашиваемых байтов) и опционального alignment, который по умолчанию имеет значение alignof(std::max_align_t) [SWS_CORE_06503]. Возвращаемое значение снабжено атрибутом [[nodiscard]], поэтому возвращаемый указатель типа void* обязательно должен быть обработан вызывающей стороной [SWS_CORE_06503].

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

В отличие от стандартного поведения, функция в случае ошибки не генерирует исключение типа std::bad_alloc, а объявлена как noexcept и считается исключебно-безопасной (exception safe) [SWS_CORE_06503]:

  • Успех: возвращает действительный указатель на выделенную область памяти согласно [mem.res] [SWS_CORE_06503].
  • Сбой: если выделение памяти завершается неудачей, функция возвращает вместо этого nullptr [SWS_CORE_06503]. Поэтому вызывающая сторона всегда должна явно проверять результат на нулевой указатель.

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

Функция специфицирована как непотокобезопасная (not thread-safe) [SWS_CORE_06503]. Соответственно, параллельные вызовы для одного и того же экземпляра MemoryResource требуют внешней синхронизации со стороны вызывающего кода. Этот отказоустойчивый паттерн без исключений последовательно используется и в других компонентах памяти AUTOSAR Adaptive: так, ara::core::PolymorphicAllocator::allocate использует тот же подход без исключений [SWS_CORE_06547], а специализированный экземпляр NullMemoryResource также сигнализирует об исчерпании памяти возвратом nullptr [SWS_CORE_06563].

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

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

Rückgabewert

TypBeschreibung
void *• If successful: As per corresponding usage in [mem.res] • 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_06503
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06503@rel:R25-11#adc4cfc8
Content hash
adc4cfc8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06503
Status: valid/unmigrated Version: rel:R25-11#8ff560e7 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_06503@rel:R25-11#8ff560e7
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1fa3c3192026-09-30
  • R23-11rel:R23-11#a898640f2026-10-14
  • R24-11rel:R24-11#f8eb1c392026-10-14
  • R25-11rel:R25-11#8ff560e72026-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_06504]

void deallocate (void *p, std::size_t bytes, std::size_t alignment=max_align) noexcept;

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

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

Функция deallocate класса ara::core::MemoryResource служит для освобождения областей памяти согласно [SWS_CORE_06504]. Использование в целом следует стандартному поведению из [mem.res], однако имеет специфические отличия. Вызов выполняется синхронно через сигнатуру void deallocate(void *p, std::size_t bytes, std::size_t alignment=max_align) noexcept, при этом передаются указатель p на освобождаемый блок, размер bytes, а также опционально выравнивание [SWS_CORE_06504].

Что касается поведения при ошибках, функция специфицирована как noexcept и исключебно-безопасная (exception safe) [SWS_CORE_06504]. Если освобождение завершается неудачей, ошибки молча игнорируются (errors will be silently ignored) [SWS_CORE_06504]. Исключения не генерируются, и сообщения об ошибках через DET или DEM не выдаются.

Относительно параллелизма функция явно классифицирована как непотокобезопасная (not thread-safe) [SWS_CORE_06504]. Поэтому одновременный доступ к одному и тому же экземпляру ресурса должен синхронизироваться вызывающей стороной извне.

Во взаимодействии с концепцией аллокатора эта функция соответствует типизированному интерфейсу deallocate класса ara::core::PolymorphicAllocator из [SWS_CORE_06548], который демонстрирует аналогичные отклонения в отношении noexcept и молчаливой обработки ошибок.

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MemoryResource
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_06504
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06504@rel:R25-11#b5ef58f7
Content hash
b5ef58f7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06504
Status: valid/unmigrated Version: rel:R25-11#6dfbadd7 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_06504@rel:R25-11#6dfbadd7
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#9fe074b52026-09-30
  • R23-11rel:R23-11#99cc78692026-10-14
  • R24-11rel:R24-11#8ebb7f8c2026-10-14
  • R25-11rel:R25-11#6dfbadd72026-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_ [SWS_CORE_06566]

virtual void * do_allocate (std::size_t bytes, std::size_t alignment) noexcept=0;

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

Literaturverzeichnis SWS Core: [15] ISO/IEC 14882:2020, Programming languages – C++ – www.iso.org

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

Чисто виртуальный метод do_allocate класса ara::core::MemoryResource служит для выделения блоков памяти заданного размера в байтах и выравнивания [SWS_CORE_06566]. В качестве параметров он принимает количество байтов (bytes) и требуемое выравнивание (alignment). При успешном выделении он синхронно возвращает указатель типа void * на выделенную область памяти [SWS_CORE_06566].

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

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

Во взаимодействии средств управления памятью метод является прямым аналогом do_deallocate, отвечающего за освобождение выделенной памяти и не выдающего ошибок [SWS_CORE_06567]. Функция сравнения do_is_equal дополнительно проверяет, совместимы ли два экземпляра ресурсов друг с другом в отношении выделения и освобождения памяти [SWS_CORE_06568].

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

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

Rückgabewert

TypBeschreibung
void *• If successful: As per corresponding usage in [mem.res] • 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_06566
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06566@rel:R25-11#1e1f2bfc
Content hash
1e1f2bfc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06566
Status: valid/unmigrated Version: rel:R25-11#f000b35f 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_06566@rel:R25-11#f000b35f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#b88f78552026-09-30
  • R24-11rel:R24-11#1a8107de2026-10-14
  • R25-11rel:R25-11#f000b35f2026-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_ [SWS_CORE_06567]

virtual void do_deallocate (void *p, std::size_t bytes, std::size_t alignment) noexcept=0;

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

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

Чисто виртуальная функция-член do_deallocate класса ara::core::MemoryResource (объявленная в ara/core/memory_resource.h) служит согласно [SWS_CORE_06567] для освобождения ранее выделенной памяти. Она принимает указатель p на область памяти, а также её размер bytes и требуемое выравнивание alignment. Семантика в целом соответствует стандарту C++ [mem.res], однако имеет два существенных специфических для Adaptive отличия [SWS_CORE_06567].

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

Что касается параллелизма, do_deallocate специфицирована как not thread-safe и имеет видимость private [SWS_CORE_06567]. Являясь деталью реализации полиморфного ресурса памяти, она, вероятно, выполняется синхронно через вышестоящий открытый интерфейс вызова. Вопрос Q-3f97e122ee7fb281 (открытый) Конкурирующие операции освобождения на одном и том же ресурсе при необходимости должны синхронизироваться производными классами самостоятельно.

В модуле core функция представляет собой аналог операции выделения памяти do_allocate [SWS_CORE_06566], которая в случае ошибки возвращает nullptr вместо исключения. Сравнение с другими ресурсами осуществляется через метод do_is_equal [SWS_CORE_06568], который, в отличие от освобождения памяти, явно определён как thread-safe.

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06567
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06567@rel:R25-11#0dac4c3a
Content hash
0dac4c3a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06567
Status: valid/unmigrated Version: rel:R25-11#d951e36f 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_06567@rel:R25-11#d951e36f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#7bf9805c2026-09-30
  • R24-11rel:R24-11#3e71af902026-10-14
  • R25-11rel:R25-11#d951e36f2026-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_ [SWS_CORE_06568]

virtual bool do_is_equal (const MemoryResource &other) const noexcept=0;

As per corresponding usage in [mem.res]

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

Чисто виртуальная функция-член do_is_equal объявляется в заголовочном файле #include "ara/core/memory_resource.h" в пространстве имён ara::core::MemoryResource ([SWS_CORE_06568]). Согласно спецификации C++ [mem.res], она служит для синхронного сравнения текущего ресурса памяти с переданной ссылкой const MemoryResource &other на равенство ([SWS_CORE_06568]). Поскольку метод определён с закрытой видимостью (private), его вызов как детали реализации, вероятно, осуществляется полиморфно через открытый интерфейс класса ara::core::MemoryResource ([SWS_CORE_06568]). Вопрос Q-cbe02f652b43d6ec (открытый)

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

Во взаимодействии с остальными виртуальными методами управления памятью do_is_equal завершает трио точек кастомизации производных классов ресурсов ([SWS_CORE_06568]). В то время как выделение памяти do_allocate в случае ошибки возвращает nullptr ([SWS_CORE_06566]), а do_deallocate игнорирует ошибки без выдачи сообщений ([SWS_CORE_06567]), обе функции, в отличие от do_is_equal, указаны как непотокобезопасные (not thread-safe) ([SWS_CORE_06566], [SWS_CORE_06567]). Это подчёркивает особое требование к do_is_equal — защищать параллельные сравнения ресурсов ([SWS_CORE_06568]).

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06568
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06568@rel:R25-11#08166aac
Content hash
08166aac
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06568
Status: valid/unmigrated Version: rel:R25-11#2eae7169 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_06568@rel:R25-11#2eae7169
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#6efe7dbb2026-09-30
  • R24-11rel:R24-11#111ffd482026-10-14
  • R25-11rel:R25-11#2eae71692026-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

функция is_ [SWS_CORE_06505]

bool is_equal (const MemoryResource &other) const noexcept;

As per corresponding usage in [mem.res]

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MemoryResource
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_06505
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06505@rel:R25-11#6bafed98
Content hash
6bafed98
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06505
Status: valid/unmigrated Version: rel:R25-11#fe89774e 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_06505@rel:R25-11#fe89774e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1cb798172026-09-30
  • R23-11rel:R23-11#f33063dc2026-10-14
  • R24-11rel:R24-11#657307fe2026-10-14
  • R25-11rel:R25-11#fe89774e2026-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_06507] Upstream: RS_AP_00130

MemoryResource & operator= (const MemoryResource &other) noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_06507
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06507@rel:R25-11#6ca10cb7
Content hash
6ca10cb7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06507
Status: valid/unmigrated Version: rel:R25-11#63abe892 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_06507@rel:R25-11#63abe892
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#653993ea2026-09-30
  • R23-11rel:R23-11#af6672232026-10-14
  • R24-11rel:R24-11#85add1f52026-10-14
  • R25-11rel:R25-11#63abe8922026-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_06575] Upstream: RS_AP_00145

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

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

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

Parameter (in)

ParameterBeschreibung
otherother MemoryResource to move from

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

Record
AUTOSAR/AP/record/SWS_CORE_06575
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06575@rel:R25-11#d8382f37
Content hash
d8382f37
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06575
Status: valid/unmigrated Version: rel:R25-11#8fb64462 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_06575@rel:R25-11#8fb64462
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#948a97b32026-09-30
  • R24-11rel:R24-11#617a865d2026-10-14
  • R25-11rel:R25-11#8fb644622026-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

функция ~MemoryResource [SWS_CORE_06506]

virtual ~MemoryResource () noexcept;

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

Header-Datei#include "ara/core/memory_resource.h"
Scopeclass ara::core::MemoryResource
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_06506
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06506@rel:R25-11#94df9666
Content hash
94df9666
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06506
Status: valid/unmigrated Version: rel:R25-11#2e224948 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_06506@rel:R25-11#2e224948
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1cb788282026-09-30
  • R23-11rel:R23-11#2af784a02026-10-14
  • R24-11rel:R24-11#5a037c852026-10-14
  • R25-11rel:R25-11#2e2249482026-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