DEENESPTFRRUARHIKOZHNL

класс ara::com::SamplePtr

[SWS_CM_00306] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

template <typename T> class SamplePtr {...};

Emulates a std::unique_ptr to an event sample.

The ara::com::SamplePtr behaves as a std::unique_ptr as long as the event/ field is subscribed to, or the Proxy it belongs to is not destroyed. The precondition defined in [SWS_CM_00085] and [SWS_CM_00087] must be fulfilled. Otherwise it is considered a violation.

Note: The SamplePtr is always passed with a const SampleType to the callable in GetNewSamples() (see [SWS_CM_00701]). Therefore the sample datatype (typename T) and the SamplePtr operators using the sample datatype (typename T) are implicitly declared as const. This means that the sample data will always be read-only.

Header-Datei#include "ara/com/service/sample_ptr.h"
Forwarding-Header#include "ara/com/com_fwd.h"
Scopenamespace ara::com

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

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

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

Шаблонный класс инкапсулирует монопольное владение принятыми выборками (samples) событий по образцу std::unique_ptr и предоставляет приложению прямой неизменяемый доступ для чтения к буферам промежуточного ПО (EXP ARAComAPI §5.3.5.4). Экземпляры передаются при запросе новых выборок, допускают передачу исключительно по семантике перемещения (move-semantics) и удерживают занятое пространство памяти ([SWS_CM_11537]). Только уничтожение указателя или его явное обнуление освобождает слот буфера. Действительность предполагает, что событие остается подписанным, а соответствующий прокси существует.

Контекст

Шаблонный класс ara::com::SamplePtr представляет собой центральную модель доступа и владения для принятых данных событий (Event Samples) в Adaptive Platform (EXP ARAComAPI §5.3.5.4). Семантически данный класс воспроизводит эксклюзивный «умный» указатель по образцу std::unique_ptr (EXP ARAComAPI §5.3.5.4). Основными партнерами по взаимодействию являются уровень приложения, принимающий объект события или прокси, а также нижележащее коммуникационное промежуточное ПО ara::com, управляющее буферными ресурсами (EXP ARAComAPI, с. 44, EXP ARAComAPI, с. 50).

Концепция целенаправленно использует подход с нулевым копированием (zero-copy) на основе ссылок: вместо передачи данных событий приложению путем копирования по значению ara::com передает указатели или ссылки на центральные коммуникационные буферы (EXP ARAComAPI, с. 50). В типичных сценариях распределения 1:N локальные кэши событий благодаря этому могут обслуживаться исключительно путем обновления ссылок, что минимизирует затраты памяти и задержку (EXP ARAComAPI, с. 50). Доступ к полезным данным концептуально рассчитан строго на чтение: при предоставлении SamplePtr всегда инстанцируется с константным типом полезных данных (ara::com::SamplePtr<SampleType const>), вследствие чего все операторы доступа являются неявно константными (EXP ARAComAPI, с. 39, EXP ARAComAPI, с. 44, [SWS_CM_00701]).

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

Экземпляры SamplePtr могут создаваться как пустые указатели через конструктор по умолчанию или с nullptr ([SWS_CM_11534], [SWS_CM_11535]). Напротив, валидные экземпляры, содержащие полезные данные, формируются внутри промежуточного ПО при десериализации событий в слоты буфера и передаются в рамках GetNewSamples() вызываемому объекту на стороне приложения (EXP ARAComAPI, с. 44).

С передачей происходит полный переход права владения (ownership transfer) к приложению (EXP ARAComAPI §5.3.5.4). Чтобы гарантировать эксклюзивность владения, конструктор копирования и копирующий оператор присваивания удалены ([SWS_CM_11536], [SWS_CM_11538]). Передача управляемого слота памяти возможна исключительно через конструктор перемещения или перемещающее присваивание ([SWS_CM_11537], [SWS_CM_11540]), тогда как Swap() позволяет произвести обмен содержимым двух указателей ([SWS_CM_11544]).

Пока экземпляр SamplePtr существует и удерживает выборку, промежуточное ПО не может востребовать обратно или перезаписать занятую область памяти (EXP ARAComAPI §5.3.5.4). Освобождение слота промежуточного ПО происходит только тогда, когда время жизни SamplePtr заканчивается вызовом деструктора ([SWS_CM_11547]), или указатель явно очищается с помощью Reset(nullptr) либо присваиванием nullptr ([SWS_CM_11539], [SWS_CM_11545]).

diag_lebenszyklus Init Leer Leer (nullptr) Init->Leer SamplePtr() Verwaltend Verwaltend (Exklusiver Besitz) Init->Verwaltend GetNewSamples() Leer->Verwaltend Move-Zuweisung Zerstoert Уничтожен Leer->Zerstoert ~SamplePtr() Verwaltend->Leer Reset(nullptr) Verwaltend->Verwaltend Swap() Verwaltend->Zerstoert ~SamplePtr()

Диаграмма состояний: фазы жизненного цикла и переходы владения SamplePtr. Источники: [SWS_CM_11534], [SWS_CM_11537], [SWS_CM_11545], [SWS_CM_11547], EXP ARAComAPI §5.3.5.4.

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

Типичный процесс доступа к данным подразделяется на следующие шаги:

  1. Инициация запроса выборки: Приложение вызывает GetNewSamples() на прокси события и передает подходящую функцию обратного вызова с сигнатурой void(ara::com::SamplePtr<SampleType const>), а также верхнюю границу для количества запрашиваемых выборок (EXP ARAComAPI, с. 44).
  2. Передача в функцию обратного вызова: Если имеются новые данные и квота буфера не исчерпана, промежуточное ПО десериализует выборку и передает новый экземпляр SamplePtr в функцию обратного вызова (EXP ARAComAPI, с. 44).
  3. Проверка статуса End-to-End: Через GetProfileCheckStatus() приложение может запросить результат проверки защиты E2E для текущего пакета данных ([SWS_CM_90420]).
  4. Чтение данных: Логика приложения обращается к управляемому объекту для чтения через operator* ([SWS_CM_11541]), operator-> ([SWS_CM_11542]) или метод Get() ([SWS_CM_11546]).
  5. Дальнейшая обработка или освобождение: Если выборка должна сохраняться дольше времени выполнения функции обратного вызова, приложение перемещает указатель с помощью перемещающего конструктора в собственные структуры памяти ([SWS_CM_11537]). Если указатель остается в области видимости функции обратного вызова, он автоматически уничтожается при выходе из нее ([SWS_CM_11547]), что немедленно освобождает слот в промежуточном ПО (EXP ARAComAPI §5.3.5.4).
Последовательность предоставления сэмплов и управления памятьюПриложениеProxy / Eventara::com MiddlewareGetNewSamples(f, maxNumberOfSamples)Проверить удерживаемые сэмплы на соответствие квотеaltКвота превышенаВозврат ErrorCodeБуфер содержит новый сэмплDeserialisierung in Sample-Slotf(SamplePtr<SampleType const>)Принятие владения; доступ на чтение через * / -> / Get() и проверка E2EУничтожение (~SamplePtr) или Reset(nullptr)Освобождение слота памятиResult(Anzahl verarbeiteter Samples)

Диаграмма последовательности: последовательность взаимодействия при GetNewSamples() с передачей владения и освобождением буфера. Источники: [SWS_CM_11541], [SWS_CM_11547], [SWS_CM_90420], EXP ARAComAPI, с. 44, EXP ARAComAPI §5.3.5.4.

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

При использовании SamplePtr необходимо учитывать специфические граничные условия и источники ошибок:

  • Исчерпание квоты буфера: при каждом вызове GetNewSamples() промежуточное ПО проверяет, не превышает ли количество сэмплов, удерживаемых приложением в данный момент, квоту, гарантированную ранее при вызове Subscribe(). Если квота превышена, GetNewSamples() отказывает в выдаче дальнейших сэмплов и вместо этого возвращает ara::core::ErrorCode (EXP ARAComAPI, с. 44, EXP ARAComAPI, с. 45).
  • Недействительность из-за потери подписки или уничтожения прокси: SamplePtr ведет себя детерминированно как std::unique_ptr только до тех пор, пока сохраняется подписка на базовое событие и существует вышестоящий экземпляр прокси. Удержание указателей после прекращения подписки или уничтожения прокси считается нарушением предусловий.
  • Действительность указателя и нулевое состояние: с помощью operator bool() можно оценить состояние занятости указателя ([SWS_CM_11543]). Разыменование пустого указателя через operator* или operator-> приводит к неопределенному поведению. Все методы доступа и модификации объявлены как noexcept ([SWS_CM_11541], [SWS_CM_11542], [SWS_CM_11546]).
  • Ошибки E2E-валидации: успешно полученный валидный указатель не гарантирует безошибочность переданных данных; по возвращаемому значению GetProfileCheckStatus() приложение должно проверить, сигнализирует ли сквозная E2E-защита об искажении данных или задержках передачи ([SWS_CM_90420]).

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

Карта членов

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

2

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

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

G nara__com__SamplePtr589 SamplePtr + SamplePtr() + operator=() + ~SamplePtr() + Get() + GetProfileCheckStatus() + Reset() + Swap() + operator bool() + operator*() + operator->()

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

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

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

SamplePtr функция 4

Default constructor

Перегрузки SamplePtr 4
constexpr SamplePtr () noexcept; SWS_CM_11534
constexpr SamplePtr (std::nullptr_t other) noexcept; SWS_CM_11535
SamplePtr (const SamplePtr &)=delete; SWS_CM_11536
SamplePtr (SamplePtr &&other) noexcept; SWS_CM_11537
~SamplePtr функция

Destructor

~SamplePtr () noexcept;

Методы

Get функция

Returns a pointer to the managed object.

T * Get () const noexcept;
GetProfileCheckStatus функция

Returns the E2E protection check result

ara::com::e2e::ProfileCheckStatus GetProfileCheckStatus () const noexcept;
Reset функция

Replaces the managed object.

void Reset (std::nullptr_t other) noexcept;
Swap функция

Swaps the managed object.

void Swap (SamplePtr &other) noexcept;

Операторы

operator bool функция

Checks if the stored pointer is null

explicit operator bool () const noexcept;
operator* функция

Dereferences the stored pointer.

T & operator* () const noexcept;
operator-> функция

Dereferences the stored pointer.

T * operator-> () const noexcept;
operator= функция 3

Copy assignment constructor deletion

Перегрузки = 3
SamplePtr & operator= (const SamplePtr &)=delete; SWS_CM_11538
SamplePtr & operator= (std::nullptr_t other) noexcept; SWS_CM_11539
SamplePtr & operator= (SamplePtr &&other) noexcept; SWS_CM_11540

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

функция Get [SWS_CM_11546] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

T * Get () const noexcept;

Returns a pointer to the managed object.

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

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

Функция Get представляет собой функцию-член без параметров класса ara::com::SamplePtr из заголовочного файла ara/com/service/sample_ptr.h [SWS_CM_11546]. Она синхронно возвращает сырой указатель типа T* на объект, управляемый этим экземпляром [SWS_CM_11546]. В отличие от асинхронных запросов полей сервиса, предоставляющих ara::core::Future [SWS_CM_00112], данный доступ осуществляется непосредственно в вызывающем потоке.

Обработка ошибок и граничные условия

Метод объявлен как noexcept и специфицирован как безопасный относительно исключений (exception safe) [SWS_CM_11546]; состояния ошибок через исключения C++ не возникают. Если экземпляр в текущий момент не управляет объектом, возвращаемый указатель, вероятно, будет равен nullptr. Вопрос Q-d850bd8ee144369a (открытый) Перед дальнейшей обработкой адресуемых данных необходимо убедиться, что E2E-контроль имеет состояние ara::com::e2e::SMState::kValid, а проверка статуса профиля не выявила ошибки [SWS_CM_90422].

Взаимодействие и разграничение

В управлении коммуникацией Get служит для прямого доступа к данным полученных значений (семплов), как они предоставляются в рамках управления семплами AUTOSAR_AP_EXP_ARAComAPI §10 «GetNewSamples». Эту функцию следует четко разграничивать с другими операциями Get:

  • Геттер поля: опрос полей сервиса на прокси происходит через Get() с возвратом ara::core::Future [SWS_CM_00112], для чего на стороне сервера может быть зарегистрирован обработчик [SWS_CM_00114].
  • Состояние E2E: состояние контроля геттера поля определяется отдельно через GetE2EStateMachineStateGetter [SWS_CM_00145].

Этот текст создан ИИ и основан на релизе AUTOSAR R25-11.

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

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
T*A pointer to the managed object

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

Record
AUTOSAR/AP/record/SWS_CM_11546
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11546@rel:R25-11#fb01a4ce
Content hash
fb01a4ce
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11546
Status: valid/unmigrated Version: rel:R25-11#ff040cc4 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_CM_11546@rel:R25-11#ff040cc4
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#19683df22026-09-30
  • R24-11rel:R24-11#83411fd82026-10-14
  • R25-11rel:R25-11#ff040cc42026-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

функция GetProfileCheckStatus [SWS_CM_90420] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

ara::com::e2e::ProfileCheckStatus GetProfileCheckStatus () const noexcept;

Returns the E2E protection check result

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
ara::com::e2e::ProfileCheckStatusThe ara::com::e2e::ProfileCheckStatus

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

Record
AUTOSAR/AP/record/SWS_CM_90420
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90420@rel:R25-11#8bdd4098
Content hash
8bdd4098
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90420
Status: valid/unmigrated Version: rel:R25-11#0b9ab03a Versionshistorie & Revisions (1 transition, 8 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_CM_90420@rel:R25-11#0b9ab03a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#35d072212026-09-30
  • R19-11rel:R19-11#8060df8d2026-10-14
  • R20-11rel:R20-11#8060df8d2026-10-14
  • R21-11rel:R21-11#8060df8d2026-10-14
  • R22-11rel:R22-11#8060df8d2026-10-14
  • R23-11rel:R23-11#8060df8d2026-10-14
  • R24-11rel:R24-11#331b13032026-10-14
  • R25-11rel:R25-11#0b9ab03a2026-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

функция Reset [SWS_CM_11545] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

void Reset (std::nullptr_t other) noexcept;

Replaces the managed object.

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

Функция-член Reset класса ara::com::SamplePtr служит для сброса указателя на управляемый объект [SWS_CM_11545]. В качестве параметра она принимает значение other типа std::nullptr_t. Вызов заменяет текущий удерживаемый объект нулевым указателем и не возвращает значения (void) [SWS_CM_11545].

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

В общей системе освобождение экземпляров SamplePtr выполняет существенное предварительное условие для предотвращения ошибок памяти:

  • Согласно [SWS_CM_00087] в AUTOSAR_AP_SWS_CommunicationManagement §7.5.12 «Service proxy destruction» перед уничтожением сервисного прокси все ранее предоставленные через GetNewSamples() ara::com::SamplePtr должны быть освобождены, чтобы избежать повисших ссылок на данные семплов событий.
  • Аналогичное требование формулирует [SWS_CM_00085] перед отменой подписки на события или поля (Unsubscription).

Интерпретация: явный вызов Reset(nullptr) в сценариях применения, по-видимому, служит прямым средством детерминированного отказа от владения семплом события перед такими переходами жизненного цикла, если указатель не выходит из области видимости автоматически. Вопрос Q-a615fa4078ab03ce (открытый)

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

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

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherA replacing std::nullptr_t

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_11545
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11545@rel:R25-11#b1f57139
Content hash
b1f57139
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11545
Status: valid/unmigrated Version: rel:R25-11#93bd20e9 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_CM_11545@rel:R25-11#93bd20e9
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#82ec68c82026-09-30
  • R24-11rel:R24-11#d3c7100f2026-10-14
  • R25-11rel:R25-11#93bd20e92026-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

функция SamplePtr [SWS_CM_11534] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

constexpr SamplePtr () noexcept;

Default constructor

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CM_11534
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11534@rel:R25-11#f4783202
Content hash
f4783202
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11534
Status: valid/unmigrated Version: rel:R25-11#d0884e08 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_CM_11534@rel:R25-11#d0884e08
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#b186477a2026-09-30
  • R24-11rel:R24-11#78fdb2182026-10-14
  • R25-11rel:R25-11#d0884e082026-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

функция SamplePtr [SWS_CM_11535] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

constexpr SamplePtr (std::nullptr_t other) noexcept;

Semantically equivalent to [SWS_CM_11534]

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherA std::nullptr_t to copy

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

Record
AUTOSAR/AP/record/SWS_CM_11535
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11535@rel:R25-11#e8aa71bc
Content hash
e8aa71bc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11535
Status: valid/unmigrated Version: rel:R25-11#6e679051 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_CM_11535@rel:R25-11#6e679051
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#fa854bdf2026-09-30
  • R24-11rel:R24-11#123387c32026-10-14
  • R25-11rel:R25-11#6e6790512026-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

функция SamplePtr [SWS_CM_11536] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

SamplePtr (const SamplePtr &)=delete;

Copy constructor deletion

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr

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

Record
AUTOSAR/AP/record/SWS_CM_11536
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11536@rel:R25-11#28584a15
Content hash
28584a15
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11536
Status: valid/unmigrated Version: rel:R25-11#1ab46188 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_CM_11536@rel:R25-11#1ab46188
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#3909673e2026-09-30
  • R24-11rel:R24-11#1ab461882026-10-14
  • R25-11rel:R25-11#1ab461882026-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

функция SamplePtr [SWS_CM_11537] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

SamplePtr (SamplePtr &&other) noexcept;

Move constructor

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::SamplePtr to move

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

Record
AUTOSAR/AP/record/SWS_CM_11537
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11537@rel:R25-11#1da2deda
Content hash
1da2deda
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11537
Status: valid/unmigrated Version: rel:R25-11#3c5f39c0 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_CM_11537@rel:R25-11#3c5f39c0
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#0fee22422026-09-30
  • R24-11rel:R24-11#165c3cab2026-10-14
  • R25-11rel:R25-11#3c5f39c02026-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

функция Swap [SWS_CM_11544] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

void Swap (SamplePtr &other) noexcept;

Swaps the managed object.

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

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

Функция Swap является методом-членом класса ara::com::SamplePtr и служит для обмена текущего управляемого объекта с другим экземпляром ([SWS_CM_11544]). Интерфейс определен в заголовочном файле ara/com/service/sample_ptr.h (AUTOSAR_AP_SWS_CommunicationManagement §8.9.1.1.3.4 «Swap»).

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

  • other: ссылка на другой экземпляр ara::com::SamplePtr, управляемый объект которого обменивается с объектом из *this ([SWS_CM_11544]).

Метод не имеет возвращаемого значения (void) ([SWS_CM_11544]).

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

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

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

Поскольку Swap одновременно изменяет состояние двух объектов (*this и other), параллельные вызовы по меньшей мере на одном из задействованных экземпляров без внешней синхронизации, вероятно, не являются потокобезопасными. Вопрос Q-d906e8c05aefbd15 (открытый)

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

Метод является неотъемлемой частью класса ara::com::SamplePtr ([SWS_CM_11544]). Он обеспечивает эффективную передачу владения или переназначение полученных выборок данных (семплов) в процессах коммуникации без необходимости копирования лежащего в основе объекта полезных данных.

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

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

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherAnother ara::com::SamplePtr to swap the managed object with

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_11544
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11544@rel:R25-11#b304bf92
Content hash
b304bf92
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11544
Status: valid/unmigrated Version: rel:R25-11#de8dd35c 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_CM_11544@rel:R25-11#de8dd35c
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#ef3edceb2026-09-30
  • R24-11rel:R24-11#f0b647d12026-10-14
  • R25-11rel:R25-11#de8dd35c2026-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 bool [SWS_CM_11543] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

explicit operator bool () const noexcept;

Checks if the stored pointer is null

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
boolTRUE if the stored pointer is null, FALSE otherwise.

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

Record
AUTOSAR/AP/record/SWS_CM_11543
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11543@rel:R25-11#713e7d5a
Content hash
713e7d5a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11543
Status: valid/unmigrated Version: rel:R25-11#d4a800ef 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_CM_11543@rel:R25-11#d4a800ef
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#a426ffae2026-09-30
  • R24-11rel:R24-11#6ef9c5c82026-10-14
  • R25-11rel:R25-11#d4a800ef2026-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_CM_11541] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

T & operator* () const noexcept;

Dereferences the stored pointer.

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
T&The object owned by *this

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

Record
AUTOSAR/AP/record/SWS_CM_11541
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11541@rel:R25-11#8d299c34
Content hash
8d299c34
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11541
Status: valid/unmigrated Version: rel:R25-11#2a9978a3 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_CM_11541@rel:R25-11#2a9978a3
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#7a10ec442026-09-30
  • R24-11rel:R24-11#ef9b07162026-10-14
  • R25-11rel:R25-11#2a9978a32026-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_CM_11542] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

T * operator-> () const noexcept;

Dereferences the stored pointer.

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
T*A pointer to the object owned by *this

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

Record
AUTOSAR/AP/record/SWS_CM_11542
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11542@rel:R25-11#1ce88b66
Content hash
1ce88b66
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11542
Status: valid/unmigrated Version: rel:R25-11#40fe26b3 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_CM_11542@rel:R25-11#40fe26b3
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#782b36dc2026-09-30
  • R24-11rel:R24-11#bcd1f0962026-10-14
  • R25-11rel:R25-11#40fe26b32026-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_CM_11538] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

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

Copy assignment constructor deletion

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr

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

Record
AUTOSAR/AP/record/SWS_CM_11538
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11538@rel:R25-11#adf457de
Content hash
adf457de
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11538
Status: valid/unmigrated Version: rel:R25-11#26e1191d 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_CM_11538@rel:R25-11#26e1191d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#474e38fe2026-09-30
  • R24-11rel:R24-11#26e1191d2026-10-14
  • R25-11rel:R25-11#26e1191d2026-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_CM_11539] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

SamplePtr & operator= (std::nullptr_t other) noexcept;

Copy assignment of nullptr_t.

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherA std::nullptr_t to copy

Rückgabewert

TypBeschreibung
SamplePtr &New ara::com::SamplePtr

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

Record
AUTOSAR/AP/record/SWS_CM_11539
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11539@rel:R25-11#e6f8b930
Content hash
e6f8b930
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11539
Status: valid/unmigrated Version: rel:R25-11#f4df352d 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_CM_11539@rel:R25-11#f4df352d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#3c9545952026-09-30
  • R24-11rel:R24-11#2a2a48bc2026-10-14
  • R25-11rel:R25-11#f4df352d2026-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_CM_11540] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

SamplePtr & operator= (SamplePtr &&other) noexcept;

Move assignment operator.

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::SamplePtr to move

Rückgabewert

TypBeschreibung
SamplePtr &New ara::com::SamplePtr

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

Record
AUTOSAR/AP/record/SWS_CM_11540
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11540@rel:R25-11#cfec6321
Content hash
cfec6321
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11540
Status: valid/unmigrated Version: rel:R25-11#19726bd5 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_CM_11540@rel:R25-11#19726bd5
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#d5c9766f2026-09-30
  • R24-11rel:R24-11#0e9fed532026-10-14
  • R25-11rel:R25-11#19726bd52026-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

функция ~SamplePtr [SWS_CM_11547] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

~SamplePtr () noexcept;

Destructor

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CM_11547
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11547@rel:R25-11#bdb857c3
Content hash
bdb857c3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11547
Status: valid/unmigrated Version: rel:R25-11#9a0210b5 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_CM_11547@rel:R25-11#9a0210b5
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#79b025ea2026-09-30
  • R24-11rel:R24-11#12a7c5cb2026-10-14
  • R25-11rel:R25-11#9a0210b52026-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