DEENESPTFRRUARHIKOZHNL

класс ara::core::Variant

[SWS_CORE_01601] Upstream: RS_AP_00130

template <typename...                Types> class Variant {...};

Implementation of std::variant type from [basic.string]

Header-Datei#include "ara/core/variant.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core

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

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

Типобезопасно хранит ровно одно значение из определенного набора типов с условной безопасностью относительно исключений.

Шаблонный класс ara::core::Variant служит типобезопасным объединением (union) для хранения ровно одного значения из заданного набора типов и управления им [SWS_CORE_01649]. Он поддерживает гибкие механизмы конструирования, присваивания и emplace, а также позволяет определять активную альтернативу через index() [SWS_CORE_01665]. Важнейшей особенностью по сравнению со стандартом являются модифицированные условные noexcept-спецификации всех модифицирующих операций, а также защита от состояния valueless_by_exception() [SWS_CORE_01666].

Контекст

Шаблонный класс ara::core::Variant представляет собой типобезопасное объединение для AUTOSAR Adaptive Platform, подключаемое через заголовочный файл ara/core/variant.h. Он инкапсулирует управление ровно одним значением из списка типов, определенного во время компиляции (template <typename... Types> class Variant). Определение принципиально ориентируется на поведение std::variant из стандарта C++ [variant], однако имеет специфические отличия AUTOSAR в части спецификации исключений. Описание класса в составе метаданных ссылается на [basic.string]; интерпретация: в данном случае речь, вероятно, идет о редакционной неточности, поскольку все требования согласованно ссылаются на раздел стандарта [variant]. Вопрос Q-809de1af74fcb689 (открытый)

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

Экземпляр ara::core::Variant проходит детерминированные фазы жизненного цикла от инициализации через смену значения до уничтожения. Создание происходит либо через конструктор по умолчанию без параметров [SWS_CORE_01649], инициализирующий первую альтернативу, либо через конструкторы копирования и перемещения [SWS_CORE_01650], [SWS_CORE_01651], либо путем прямой передачи значения [SWS_CORE_01652]. Кроме того, доступны перегрузки для конструирования на месте (in-place) с помощью in_place_type_t [SWS_CORE_01653], [SWS_CORE_01654], а также in_place_index_t [SWS_CORE_01655], [SWS_CORE_01656], в том числе в сочетании со списками инициализации.

В обычном состоянии объект всегда содержит допустимую альтернативу, отсчитываемый от нуля индекс которой можно определить с помощью метода index() [SWS_CORE_01665]. Если смена значения во время конструирования или присваивания завершается сбоем из-за выброса исключения, экземпляр переходит в состояние valueless_by_exception() [SWS_CORE_01666]. Объект остается в этом состоянии до тех пор, пока в результате успешной повторной инициализации снова не будет занята допустимая альтернатива. Деструктор надлежащим образом уничтожает удерживаемый в данный момент объект и объявлен условно безопасным относительно исключений [SWS_CORE_01657].

variant_lifecycle Uninitialisiert Uninitialisiert Gueltig Gueltig Uninitialisiert->Gueltig Konstruktion Gueltig->Gueltig operator= / emplace() ValuelessByException ValuelessByException Gueltig->ValuelessByException Fehlschlag Zuweisung / emplace Zerstoert Zerstoert Gueltig->Zerstoert ~Variant() ValuelessByException->Gueltig Erfolgreiches emplace() ValuelessByException->Zerstoert ~Variant()

Диаграмма состояний: переходы состояний экземпляра Variant между корректной заполненностью типом и состоянием исключения. Источники: [SWS_CORE_01649], [SWS_CORE_01657], [SWS_CORE_01661], [SWS_CORE_01665], [SWS_CORE_01666]

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

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

  • Инициализация: создание экземпляра с помощью одного из конструкторов, например путем прямой передачи значения [SWS_CORE_01652] или явно по типу с помощью in_place_type_t [SWS_CORE_01653].
  • Обновление значения и повторное заполнение: присваивание нового значения через оператор присваивания копированием [SWS_CORE_01658], оператор присваивания перемещением [SWS_CORE_01659] или универсальное присваивание значения [SWS_CORE_01660]. В качестве альтернативы значение можно переконструировать непосредственно на месте через emplace по типу [SWS_CORE_01661], [SWS_CORE_01662] или по индексу [SWS_CORE_01663], [SWS_CORE_01664].
  • Проверка состояния: запрос индекса активного типа через index() [SWS_CORE_01665], а также защита от предшествующих ошибок через valueless_by_exception() [SWS_CORE_01666].
  • Обмен объектов: эффективный обмен двух экземпляров Variant через функцию-член swap() [SWS_CORE_01667].

Поскольку рассматриваемый набор записей спецификации охватывает исключительно функции-члены, прямые операции чтения, такие как доступ к значению, отсутствуют; вероятно, функции доступа и обхода (аналогично std::get или std::visit) предоставляются как свободные вспомогательные функции в пространстве имен ara::core. Вопрос Q-75847ac18088da57 (открытый)

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

В центре обработки ошибок находится свойство условной безопасности относительно исключений (conditionally exception safe). В то время как стандартная библиотека предусматривает для std::variant фиксированные правила noexcept, AUTOSAR целенаправленно отклоняется: все конструкторы [SWS_CORE_01650], [SWS_CORE_01653], операторы присваивания [SWS_CORE_01658], операции emplace [SWS_CORE_01661], [SWS_CORE_01663], функция обмена swap() [SWS_CORE_01667], а также деструктор [SWS_CORE_01657] условно noexcept. Их гарантия безопасности исключений напрямую зависит от свойств noexcept конструкторов базовых типов.

Если конструирование нового значения во время присваивания или вызова emplace выбрасывает исключение, вариант может перейти в недопустимое промежуточное состояние. Об этом сигнализирует valueless_by_exception() [SWS_CORE_01666]. Исключительно две функции запроса index() [SWS_CORE_01665] и valueless_by_exception() [SWS_CORE_01666] предоставляют безоговорочную гарантию noexcept и полностью безопасны относительно исключений.

Настоящее руководство основано на спецификации AUTOSAR для Adaptive Platform (Release R25-11, модуль core) и подготовлено с помощью ИИ-ассистента курации.

Карта членов

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

2

Операторы

1

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

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

G nara__core__Variant465 Variant + Variant() + operator=() + ~Variant() + emplace() + swap() + index() + valueless_by_exception()

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

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

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

Variant функция 8

≙ [variant]

Перегрузки Variant 8
constexpr Variant () noexcept({<cond-noexcept-1>}); SWS_CORE_01649
Variant (const Variant &other) noexcept({<cond-noexcept-2>}); SWS_CORE_01650
Variant (Variant &&other) noexcept({<cond-noexcept-3>}); SWS_CORE_01651
template <typename T> constexpr Variant (T &&value) noexcept({<cond-noexcept-4>}); SWS_CORE_01652
template <typename T, typename... Args> explicit constexpr Variant (in_place_type_t< T > tag, Args &&... args) noexcept(std::is_nothrow_constructible< T, Args... >::value); SWS_CORE_01653
template <typename T, typename U, typename... Args> explicit constexpr Variant (in_place_type_t< T > tag, std::initializer_list< U > il, Args &&... args) noexcept(std::is_ nothrow_constructible< T, std::initializer_list< U > &, Args &&... >::value); SWS_CORE_01654
template <std::size_t I, typename... Args> explicit constexpr Variant (in_place_index_t< I > tag, Args &&... args) noexcept({<cond-noexcept-5>}); SWS_CORE_01655
template <std::size_t I, typename U, typename... Args> explicit constexpr Variant (in_place_index_t< I > tag, std::initializer_list< U > il, Args &&... args) noexcept( {<cond-noexcept-6>}); SWS_CORE_01656
~Variant функция

except for the following deviations: 1. Function is conditionally noexcept ≙ [variant]

~Variant () noexcept({<cond-noexcept-7>});

Методы

emplace функция 4

except for the following deviations: 1. Function is conditionally noexcept ≙ [variant]

Перегрузки emplace 4
template <typename T, typename... Args> T & emplace (Args &&... args) noexcept(std::is_nothrow_constructible< T, Args... >::value); SWS_CORE_01661
template <typename T, typename U, typename... Args> T & emplace (std::initializer_list< U > il, Args &&... args) noexcept(std::is_nothrow_constructible< T, std::initializer_list< U > &, Args &&... >::value); SWS_CORE_01662
template <std::size_t I, typename... Args> variant_alternative_t< I, Variant< Types... > > & emplace (Args &&... args) noexcept({<cond-noexcept-11>}); SWS_CORE_01663
template <std::size_t I, typename U, typename... Args> variant_alternative_t< I, Variant< Types... > > & emplace (std::initializer_list< U > il, Args &&... args) noexcept( {<cond-noexcept-12>}); SWS_CORE_01664
index функция

≙ [variant]

constexpr std::size_t index () const noexcept;
swap функция

except for the following deviations: 1. Conditions for the conditional exception safety are modified ≙ [variant]

void swap (Variant &other) noexcept({<cond-noexcept-13>});
valueless_by_exception функция

≙ [variant]

constexpr bool valueless_by_exception () const noexcept;

Операторы

operator= функция 3

except for the following deviations: 1. Function is conditionally noexcept ≙ [variant]

Перегрузки = 3
constexpr Variant & operator= (const Variant &other) noexcept( {<cond-noexcept-8>}); SWS_CORE_01658
constexpr Variant & operator= (Variant &&other) noexcept( {<cond-noexcept-9>}); SWS_CORE_01659
template <typename T> Variant & operator= (T &&value) noexcept({<cond-noexcept-10>}); SWS_CORE_01660

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

функция Variant [SWS_CORE_01649]

constexpr Variant () noexcept({<cond-noexcept-1>});

As per corresponding usage in [variant]

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01649
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01649@rel:R25-11#8694c627
Content hash
8694c627
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01649
Status: valid/unmigrated Version: rel:R25-11#db2002ad 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_01649@rel:R25-11#db2002ad
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#300cfb642026-09-30
  • R24-11rel:R24-11#93873aed2026-10-14
  • R25-11rel:R25-11#db2002ad2026-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

функция Variant [SWS_CORE_01650]

Variant (const Variant &other) noexcept({<cond-noexcept-2>});

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01650
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01650@rel:R25-11#4d9939bc
Content hash
4d9939bc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01650
Status: valid/unmigrated Version: rel:R25-11#b0ca00aa 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_01650@rel:R25-11#b0ca00aa
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#d7b9f4212026-09-30
  • R24-11rel:R24-11#8ec330a02026-10-14
  • R25-11rel:R25-11#b0ca00aa2026-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

функция Variant [SWS_CORE_01651]

Variant (Variant &&other) noexcept({<cond-noexcept-3>});

As per corresponding usage in [variant] Move constructor

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01651
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01651@rel:R25-11#fcefafef
Content hash
fcefafef
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01651
Status: valid/unmigrated Version: rel:R25-11#2e696abb 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_01651@rel:R25-11#2e696abb
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#6c1826782026-09-30
  • R24-11rel:R24-11#7374aec42026-10-14
  • R25-11rel:R25-11#2e696abb2026-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

функция Variant [SWS_CORE_01652]

template <typename T> constexpr Variant (T &&value) noexcept({<cond-noexcept-4>});

As per corresponding usage in [variant]

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01652
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01652@rel:R25-11#51426a6f
Content hash
51426a6f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01652
Status: valid/unmigrated Version: rel:R25-11#e2bf0fdc 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_01652@rel:R25-11#e2bf0fdc
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#8e7ec9d82026-09-30
  • R24-11rel:R24-11#db8b85bc2026-10-14
  • R25-11rel:R25-11#e2bf0fdc2026-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

функция Variant [SWS_CORE_01653]

template <typename T, typename... Args> explicit constexpr Variant (in_place_type_t< T > tag, Args &&... args) noexcept(std::is_nothrow_constructible< T, Args... >::value);

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01653
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01653@rel:R25-11#9a91b75f
Content hash
9a91b75f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01653
Status: valid/unmigrated Version: rel:R25-11#b0122423 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_01653@rel:R25-11#b0122423
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#015da83e2026-09-30
  • R24-11rel:R24-11#cb5845952026-10-14
  • R25-11rel:R25-11#b01224232026-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

функция Variant [SWS_CORE_01654]

template <typename T, typename U, typename... Args> explicit constexpr Variant (in_place_type_t< T > tag, std::initializer_list< U > il, Args &&... args) noexcept(std::is_ nothrow_constructible< T, std::initializer_list< U > &, Args &&... >::value);

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01654
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01654@rel:R25-11#e3f9debb
Content hash
e3f9debb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01654
Status: valid/unmigrated Version: rel:R25-11#a3d5e977 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_01654@rel:R25-11#a3d5e977
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#dbc17b3a2026-09-30
  • R24-11rel:R24-11#96abcd352026-10-14
  • R25-11rel:R25-11#a3d5e9772026-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

функция Variant [SWS_CORE_01655]

template <std::size_t I, typename... Args> explicit constexpr Variant (in_place_index_t< I > tag, Args &&... args) noexcept({<cond-noexcept-5>});

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01655
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01655@rel:R25-11#da2b3e95
Content hash
da2b3e95
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01655
Status: valid/unmigrated Version: rel:R25-11#59578a03 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_01655@rel:R25-11#59578a03
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#05d41ae02026-09-30
  • R24-11rel:R24-11#4731b7332026-10-14
  • R25-11rel:R25-11#59578a032026-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

функция Variant [SWS_CORE_01656]

template <std::size_t I, typename U, typename... Args> explicit constexpr Variant (in_place_index_t< I > tag, std::initializer_list< U > il, Args &&... args) noexcept( {<cond-noexcept-6>});

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01656
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01656@rel:R25-11#89f5d172
Content hash
89f5d172
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01656
Status: valid/unmigrated Version: rel:R25-11#2e213ddd 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_01656@rel:R25-11#2e213ddd
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f254bcf02026-09-30
  • R24-11rel:R24-11#bff0ca532026-10-14
  • R25-11rel:R25-11#2e213ddd2026-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

функция emplace [SWS_CORE_01661]

template <typename T, typename... Args> T & emplace (Args &&... args) noexcept(std::is_nothrow_constructible< T, Args... >::value);

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

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

Функция-член emplace конструирует альтернативное значение типа T непосредственно в существующем экземпляре ara::core::Variant [SWS_CORE_01661]. Функция предоставляется через заголовочный файл #include "ara/core/variant.h" и выполняется синхронно [SWS_CORE_01661]. В качестве параметров она принимает универсальные ссылки (forwarding references) args..., которые передаются в конструктор целевого типа T, и возвращает ссылку на вновь созданный объект [SWS_CORE_01661].

В отношении обработки ошибок операция объявлена как условно безопасная относительно исключений («conditionally exception safe») [SWS_CORE_01661]. Она следует стандартному поведению variant, однако отличается условной спецификацией noexcept: исключение исключается тогда и только тогда, когда выполняется std::is_nothrow_constructible<T, Args...>::value [SWS_CORE_01661]. Специфические коды ошибок AUTOSAR или сообщения в DET или DEM для этой базовой функции не определены.

Относительно параллелизма и контекста вызова спецификация не указывает каких-либо отклоняющихся гарантий. Интерпретация: одновременный доступ на запись нескольких потоков к одному и тому же экземпляру Variant через emplace без внешней синхронизации, вероятно, не является потокобезопасным, поскольку AUTOSAR ссылается на стандартную семантику variant. Вопрос Q-4d9d118b9916a3dc (открытый)

При взаимодействии внутри ara::core::Variant существуют дополнительные перегрузки для списков инициализации [SWS_CORE_01662], а также конструирования на месте по индексу [SWS_CORE_01663], [SWS_CORE_01664]. Аналогичные операции emplace в модуле Core специфицированы также для ara::core::Optional ([SWS_CORE_01119], [SWS_CORE_01120], [SWS_CORE_01164]) и таких контейнеров, как ara::core::Vector [SWS_CORE_01366] и ara::core::Map [SWS_CORE_01458].

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

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01661
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01661@rel:R25-11#419bbdb5
Content hash
419bbdb5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01661
Status: valid/unmigrated Version: rel:R25-11#2a14eef2 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_01661@rel:R25-11#2a14eef2
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#6250f84a2026-09-30
  • R24-11rel:R24-11#b4d067862026-10-14
  • R25-11rel:R25-11#2a14eef22026-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

функция emplace [SWS_CORE_01662]

template <typename T, typename U, typename... Args> T & emplace (std::initializer_list< U > il, Args &&... args) noexcept(std::is_nothrow_constructible< T, std::initializer_list< U > &, Args &&... >::value);

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

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

Функция-член emplace класса ara::core::Variant из заголовочного файла ara/core/variant.h служит для синхронного создания альтернативы типа T непосредственно в памяти существующего экземпляра [SWS_CORE_01662]. При этом std::initializer_list<U>, а также перенаправленные аргументы Args&&... args передаются в конструктор типа. В качестве возвращаемого значения функция возвращает lvalue-ссылку T& на вновь инициализированный объект [SWS_CORE_01662].

Что касается обработки ошибок и исключений, функция отклоняется от стандартного определения в [variant]: она классифицирована как условно безопасная относительно исключений (conditionally exception safe) и имеет условную спецификацию noexcept [SWS_CORE_01662]. Вызов гарантирует отсутствие исключений, если std::is_nothrow_constructible<T, std::initializer_list<U>&, Args&&...>::value вычисляется в true [SWS_CORE_01662]. Специфические коды ошибок AUTOSAR или каналы сообщений в DET и DEM для этого элемента отсутствуют.

Относительно параллелизма и граничных условий действует следующее: поскольку emplace изменяет состояние экземпляра Variant, конкурентный вызов без внешней синхронизации, вероятно, не является потокобезопасным. Интерпретация: перед конструированием нового объекта ранее содержавшееся значение уничтожается, что соответствует общему поведению [variant]. Вопрос Q-548c84cc1d327030 (открытый)

При взаимодействии с родственными интерфейсами функция образует аналог на основе типа для перегрузки без списка инициализации [SWS_CORE_01661], а также для альтернатив на основе индекса [SWS_CORE_01663] и [SWS_CORE_01664]. Похожие концепции интерфейсов встречаются у ara::core::Optional [SWS_CORE_01120], а также у контейнеров, таких как ara::core::Vector [SWS_CORE_01366] или ara::core::Map [SWS_CORE_01458], причем контейнерные операции emplace в отличие от этой не являются безопасными относительно исключений.

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

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01662
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01662@rel:R25-11#808ec9e9
Content hash
808ec9e9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01662
Status: valid/unmigrated Version: rel:R25-11#82a43049 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_01662@rel:R25-11#82a43049
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#1585bce42026-09-30
  • R24-11rel:R24-11#70a0b4a72026-10-14
  • R25-11rel:R25-11#82a430492026-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

функция emplace [SWS_CORE_01663]

template <std::size_t I, typename... Args> variant_alternative_t< I, Variant< Types...                > > & emplace (Args &&... args) noexcept({<cond-noexcept-11>});

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

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

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

Функция-член emplace класса ara::core::Variant ([SWS_CORE_01663]) из заголовочного файла ara/core/variant.h служит для прямого конструирования альтернативы, определяемой шаблонным индексом I, в существующей памяти объекта. В качестве параметров передаются аргументы Args&&... args. Вызов выполняется синхронно и возвращает ссылку на вновь созданное значение типа variant_alternative_t<I, Variant<Types...>> ([SWS_CORE_01663]). Поведение определяется согласно определению в [variant] ([SWS_CORE_01663]).

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

Спецификация определяет в качестве отклонения от стандарта C++ условное предложение noexcept({<cond-noexcept-11>}), а также свойство conditionally exception safe ([SWS_CORE_01663]). Вероятно, возникновение исключений зависит от того, является ли конструктор целевой альтернативы для передаваемых типов Args... безопасным относительно исключений. Вопрос Q-189fe417e9ef4980 (открытый) Специфические коды ошибок, возвращаемые значения в случае ошибки или уведомления в DET или DEM для этой функции не специфицированы.

Взаимодействие и альтернативы

Внутри модуля core и типа ara::core::Variant функция встроена в систему других перегрузок:

Данное указание по использованию основано на спецификациях модуля core из релиза R25-11.

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01663
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01663@rel:R25-11#a08e283d
Content hash
a08e283d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01663
Status: valid/unmigrated Version: rel:R25-11#a87bd2d7 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_01663@rel:R25-11#a87bd2d7
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#f203d4192026-09-30
  • R24-11rel:R24-11#f520ae852026-10-14
  • R25-11rel:R25-11#a87bd2d72026-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

функция emplace [SWS_CORE_01664]

template <std::size_t I, typename U, typename... Args> variant_alternative_t< I, Variant< Types... > > & emplace (std::initializer_list< U > il, Args &&... args) noexcept( {<cond-noexcept-12>});

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

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

Функция-член emplace из ara/core/variant.h синхронно конструирует новое значение альтернативы непосредственно на месте внутри существующего экземпляра ara::core::Variant [SWS_CORE_01664]. Целевой тип при этом жестко определяется через шаблонный индекс I. Вызов принимает список инициализации il типа std::initializer_list<U>, а также необязательные аргументы args и возвращает ссылку на вновь созданное значение типа variant_alternative_t<I, Variant<Types...>>& [SWS_CORE_01664].

Для обработки ошибок операция классифицирована как условно безопасная относительно исключений (conditionally exception safe) и снабжена условным noexcept [SWS_CORE_01664]. Вычисление условия {<cond-noexcept-12>}, вероятно, зависит от того, не генерирует ли конструктор целевого типа с il и args исключений. Вопрос Q-87f90253fc61c883 (открытый) Специфические коды ошибок, а также сообщения в DET или DEM в спецификации не определены; поведение при исключениях, за исключением объявления noexcept, следует стандартному поведению [variant] [SWS_CORE_01664].

Внутри ara::core::Variant функция дополняет создание на основе индекса без списка инициализации [SWS_CORE_01663], а также оба варианта на основе типа [SWS_CORE_01661] и [SWS_CORE_01662]. Аналогичные функции emplace для прямого конструирования на месте существуют в модуле core также для ara::core::Optional ([SWS_CORE_01119], [SWS_CORE_01120], [SWS_CORE_01164]), а также для таких контейнеров, как ara::core::Vector ([SWS_CORE_01366]) и ara::core::Map ([SWS_CORE_01458]).

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

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01664
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01664@rel:R25-11#3e682a49
Content hash
3e682a49
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01664
Status: valid/unmigrated Version: rel:R25-11#1815524e 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_01664@rel:R25-11#1815524e
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#cc05518c2026-09-30
  • R24-11rel:R24-11#6ff4fca72026-10-14
  • R25-11rel:R25-11#1815524e2026-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

функция index [SWS_CORE_01665]

constexpr std::size_t index () const noexcept;

As per corresponding usage in [variant]

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

Функция-член index класса ara::core::Variant служит для синхронного запроса отсчитываемого от нуля индекса текущего удерживаемого типа согласно спецификации [SWS_CORE_01665]. Она ведет себя аналогично соответствующему использованию в стандартном типе C++ std::variant («As per corresponding usage in [variant]»), не принимает параметров и возвращает текущий индекс как std::size_t. Объявлена она в заголовочном файле ara/core/variant.h и квалифицирована как constexpr, а также noexcept.

В отношении обработки ошибок и безопасности исключений метод специфицирован как exception safe [SWS_CORE_01665]. Поскольку он объявлен как noexcept, сам он не генерирует исключений и не вызывает условий ошибок. Вызывающие стороны могут анализировать возвращенный индекс, чтобы перед доступом к альтернативным значениям убедиться, какой тип активен в ara::core::Variant.

Во взаимодействии с типизированными функциями доступа ara::core::get метод index играет ключевую роль: перегрузки get для lvalue и rvalue явно проверяют условие variant.index() != I согласно [SWS_CORE_01613], [SWS_CORE_01614], [SWS_CORE_01615] и [SWS_CORE_01616]. Если индекс не совпадает с запрошенным позиционным индексом I, в отличие от std::bad_variant_access инициируется нарушение IsoStdBadVariantAccessViolation. Предварительное согласование с помощью index() предотвращает этот ошибочный доступ во время выполнения.

Что касается параллелизма, этот метод как операция const безопасен для параллельного доступа на чтение к одному и тому же variant до тех пор, пока отсутствуют конкурирующие модификации; внутренняя синхронизация против параллельных операций записи, предположительно, отсутствует. Вопрос Q-12e0dad0a6b8c5d0 (открытый)

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_01665
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01665@rel:R25-11#1ce4f974
Content hash
1ce4f974
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01665
Status: valid/unmigrated Version: rel:R25-11#79f9fbbd 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_01665@rel:R25-11#79f9fbbd
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#efd439dd2026-09-30
  • R24-11rel:R24-11#50988c112026-10-14
  • R25-11rel:R25-11#79f9fbbd2026-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_01658]

constexpr Variant & operator= (const Variant &other) noexcept( {<cond-noexcept-8>});

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01658
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01658@rel:R25-11#98ae42f4
Content hash
98ae42f4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01658
Status: valid/unmigrated Version: rel:R25-11#9502ca1b 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_01658@rel:R25-11#9502ca1b
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e70fc86a2026-09-30
  • R24-11rel:R24-11#9c37dac32026-10-14
  • R25-11rel:R25-11#9502ca1b2026-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_01659]

constexpr Variant & operator= (Variant &&other) noexcept( {<cond-noexcept-9>});

As per corresponding usage in [variant]

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01659
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01659@rel:R25-11#709b72da
Content hash
709b72da
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01659
Status: valid/unmigrated Version: rel:R25-11#39ffdcbb 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_01659@rel:R25-11#39ffdcbb
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#860115b42026-09-30
  • R24-11rel:R24-11#a820e86d2026-10-14
  • R25-11rel:R25-11#39ffdcbb2026-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_01660]

template <typename T> Variant & operator= (T &&value) noexcept({<cond-noexcept-10>});

As per corresponding usage in [variant]

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01660
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01660@rel:R25-11#614bdc81
Content hash
614bdc81
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01660
Status: valid/unmigrated Version: rel:R25-11#255af730 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_01660@rel:R25-11#255af730
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#3ef1dc682026-09-30
  • R24-11rel:R24-11#c43a33d12026-10-14
  • R25-11rel:R25-11#255af7302026-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_CORE_01667]

void swap (Variant &other) noexcept({<cond-noexcept-13>});

As per corresponding usage in [variant] except for the following deviations: 1. Conditions for the conditional exception safety are modified

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01667
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01667@rel:R25-11#582eb063
Content hash
582eb063
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01667
Status: valid/unmigrated Version: rel:R25-11#5ae6bafc 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_01667@rel:R25-11#5ae6bafc
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#1e70aeed2026-09-30
  • R24-11rel:R24-11#2a023e892026-10-14
  • R25-11rel:R25-11#5ae6bafc2026-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

функция valueless_by_exception [SWS_CORE_01666]

constexpr bool valueless_by_exception () const noexcept;

As per corresponding usage in [variant]

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

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

Функция-член valueless_by_exception класса ara::core::Variant предоставляется в модуле core через заголовочный файл #include "ara/core/variant.h" ([SWS_CORE_01666]). В соответствии со своей сигнатурой constexpr bool valueless_by_exception () const noexcept; она не требует параметров вызова и синхронно возвращает логическое значение ([SWS_CORE_01666]). Функциональное значение определяется общепринятой семантикой [variant] («As per corresponding usage in [variant]») ([SWS_CORE_01666]). Интерпретация: возвращаемый статус true, вероятно, сигнализирует вызывающей стороне о том, что предыдущее присваивание значения или изменение типа было прервано из-за возникновения исключения, и поэтому объект Variant временно не представляет допустимого состояния. Вопрос Q-af7c00c7eb4ef5a1 (открытый)

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

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

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

Поскольку valueless_by_exception специфицирован как метод const и constexpr, во время выполнения никаких модифицирующих обращений к внутреннему состоянию объекта не происходит ([SWS_CORE_01666]). Интерпретация: одновременные запросы на чтение одного и того же экземпляра из нескольких потоков, по всей видимости, могут безопасно выполняться без отдельной синхронизации, пока исключены конкурирующие операции записи. Вопрос Q-5c28f8cef1c1f097 (открытый)

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_01666
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01666@rel:R25-11#bf6a04b4
Content hash
bf6a04b4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01666
Status: valid/unmigrated Version: rel:R25-11#172a8799 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_01666@rel:R25-11#172a8799
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#3aa8f2a32026-09-30
  • R24-11rel:R24-11#d0913a2b2026-10-14
  • R25-11rel:R25-11#172a87992026-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

функция ~Variant [SWS_CORE_01657]

~Variant () noexcept({<cond-noexcept-7>});

As per corresponding usage in [variant] except for the following deviations: 1. Function is conditionally noexcept

Header-Datei#include "ara/core/variant.h"
Scopeclass ara::core::Variant
Exception-Sicherheitconditionally exception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01657
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01657@rel:R25-11#c5b3068d
Content hash
c5b3068d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01657
Status: valid/unmigrated Version: rel:R25-11#00ac5736 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_01657@rel:R25-11#00ac5736
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#9a29a7492026-09-30
  • R24-11rel:R24-11#7fdccbe62026-10-14
  • R25-11rel:R25-11#00ac57362026-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