DEENESPTFRRUARHIKOZHNL

класс ara::core::Future

[SWS_CORE_00321] Upstream: RS_AP_00130

template <typename T, typename E = ErrorCode> class Future final {...};

Implementation of std::future from [future.syn] in [11]. The implementation shall flag the condition E != ara::core::ErrorCode as a compile error.

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

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

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

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

Обеспечивает синхронное или асинхронное получение значений и ошибок из параллельной операции.

Класс ara::core::Future служит дескриптором получателя для результата асинхронной операции и управляет доступом к разделяемому состоянию [SWS_CORE_00327]. Потребители могут неблокирующим образом проверять состояние, синхронно ожидать завершения или получать результат через GetResult() без исключений в виде ara::core::Result [SWS_CORE_00336]. Поскольку операции копирования удалены, владение управляется монопольно, и после извлечения результата или перенаправления с помощью Continuation объект сразу становится недействительным.

Контекст

Шаблонный класс ara::core::Future представляет собой конечный элемент-получатель для результатов асинхронных операций в рамках AUTOSAR Adaptive Platform. Он обеспечивает контролируемый доступ к разделяемому состоянию (Shared State), которое асинхронно заполняется создающим экземпляром [SWS_CORE_00327]. Концептуально класс реализует std::future из стандарта C++17 ISO/IEC 14882:2017 [11], однако бесшовно интегрируется в концепцию платформы на основе исключений ошибок: для параметра шаблона E обязательно задан тип ошибки ara::core::ErrorCode; любая отличающаяся спецификация приводит к ошибке компиляции. К основным партнерам по взаимодействию относятся асинхронный производитель (такой как связанный Promise), предоставляющий значение или ошибку, экземпляр Future в качестве эксклюзивного получателя, а также потребитель или контекст выполнения (ExecutorT), которому передаются последующие задачи [SWS_CORE_00331] [SWS_CORE_00337].

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

Создание, управление состоянием и уничтожение ara::core::Future подчиняются строгим правилам для обеспечения детерминированных отношений владения:

  • Создание: конструктор по умолчанию создает пустой экземпляр без Shared State, для которого действует valid() == false [SWS_CORE_00322] [SWS_CORE_00327]. Интерпретация: действительные экземпляры штатно возникают через асинхронные интерфейсы платформы или связанные объекты Promise. Вопрос Q-6149efe498e0f5f6 (открытый)
  • Владение и передача: конструктор копирования и оператор присваивания копированием явно удалены (delete), что исключает дублирование дескриптора доступа [SWS_CORE_00334] [SWS_CORE_00335]. Перемещение (Move) экземпляров возможно через конструктор перемещения и оператор присваивания перемещением и полностью передает право владения разделяемым состоянием [SWS_CORE_00323] [SWS_CORE_00325].
  • Состояния и переходы: состояние делится на недействительное (valid() == false), действительное ожидающее (valid() == true, is_ready() == false) и готовое (valid() == true, is_ready() == true) [SWS_CORE_00327] [SWS_CORE_00332]. После успешного извлечения результата через GetResult() или get(), а также после перенаправления с помощью then() объект теряет свое состояние и сразу становится недействительным (valid() == false) [SWS_CORE_00326] [SWS_CORE_00331] [SWS_CORE_00336] [SWS_CORE_00337].
  • Уничтожение: деструктор ~Future() освобождает еще удерживаемое разделяемое состояние [SWS_CORE_00333]. Если были зарегистрированы продолжения, деструктор возвращенного экземпляра блокируется до тех пор, пока уже выполняющаяся функция продолжения не завершит выполнение полностью [SWS_CORE_00331] [SWS_CORE_00337].
  • Параллелизм: методы статуса valid() и is_ready() являются потокобезопасными [SWS_CORE_00327] [SWS_CORE_00332]. Все остальные интерфейсы — включая wait(), wait_for(), wait_until(), GetResult(), get(), then() и деструктор — не являются потокобезопасными для одного и того же экземпляра [SWS_CORE_00323] [SWS_CORE_00325] [SWS_CORE_00326] [SWS_CORE_00328] [SWS_CORE_00329] [SWS_CORE_00330] [SWS_CORE_00331] [SWS_CORE_00333] [SWS_CORE_00336] [SWS_CORE_00337].
future_lifecycle Invalid Ungueltig (valid() == false) ValidPending Gueltig / Ausstehend (valid() == true, is_ready() == false) Invalid->ValidPending Move-Zuweisung / Erhalt ValidPending->Invalid Destruktor / then() ValidReady Gueltig / Bereit (valid() == true, is_ready() == true) ValidPending->ValidReady Promise устанавливает значение или ошибку ValidReady->Invalid GetResult() / get() / then()

Диаграмма состояний: жизненный цикл и переходы состояний экземпляра Future относительно валидности и доступности Shared State. Источники: [SWS_CORE_00322], [SWS_CORE_00326], [SWS_CORE_00327], [SWS_CORE_00331], [SWS_CORE_00332], [SWS_CORE_00333], [SWS_CORE_00336]

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

Типичный путь использования для обработки результатов делится на следующие фазы:

  1. Проверка статуса и синхронизация: с помощью is_ready() можно предварительно определить, готов ли уже асинхронный результат [SWS_CORE_00332]. Если это так, последующие вызовы гарантированно больше не блокируются [SWS_CORE_00332]. В противном случае с помощью wait() можно синхронизироваться неограниченно [SWS_CORE_00328] или с ограничением по времени через wait_for() или wait_until() [SWS_CORE_00329] [SWS_CORE_00330].
  2. Извлечение результата: в приложениях AUTOSAR Adaptive вызов GetResult() имеет решающее значение: при необходимости метод блокируется, но никогда не вызывает исключений и передает значение или ошибку в виде ara::core::Result<T, E> по перемещению [SWS_CORE_00336]. Метод get() обеспечивает соответствие STL, генерирует исключения C++ в случае ошибки и не участвует в разрешении перегрузки при отключенной в наборе инструментов обработке исключений [SWS_CORE_00326].
  3. Асинхронное связывание в цепочку (Continuations): вместо синхронной блокировки через then() можно зарегистрировать обратный вызов, опционально с назначением контексту выполнения (Executor) [SWS_CORE_00331] [SWS_CORE_00337]. Обратный вызов принимает результат как rvalue Result<T, E>. Если сама функция продолжения возвращает Future или Result, then() выполняет автоматическое развертывание и напрямую возвращает соответствующий Future<T2, E2> [SWS_CORE_00331] [SWS_CORE_00337].
Асинхронный процесс с GetResult()Вызывающая сторонаFuturePromiseErzeugt Shared State & FutureUebergabe an KonsumentUse Case: Синхронизация и получениеis_ready()falseSetResult(...) / SetError(...)GetResult()Shared State geleertvalid() == falseResult<T, E>

Диаграмма последовательности: типичный ход асинхронной синхронизации и получения результата через GetResult(). Источники: [SWS_CORE_00327], [SWS_CORE_00332], [SWS_CORE_00336]

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

При работе с ara::core::Future специфицированы следующие ошибочные ситуации:

  • Вызов на недействительном экземпляре: вызов is_ready(), wait(), wait_for(), wait_until(), GetResult() или then() для недействительного экземпляра (valid() == false) представляет собой FutureInvalidViolation [SWS_CORE_00328] [SWS_CORE_00329] [SWS_CORE_00330] [SWS_CORE_00331] [SWS_CORE_00332] [SWS_CORE_00336] [SWS_CORE_00337]. При вызове get() в этом случае генерируется FutureException с кодом ошибки kNoState [SWS_CORE_00326].
  • Оставленное разделяемое состояние (Broken Promise): если Shared State преждевременно оставляется связанным Promise, GetResult() возвращает Result со стандартизированным кодом ошибки FutureErrc::kBrokenPromise [SWS_CORE_00336]. При вызове get() инициируется соответствующее исключение [SWS_CORE_00326].
  • Исключения в функциях продолжения: зарегистрированное продолжение не должно генерировать исключения, кроме как для реализации Violation. Если оно тем не менее возбуждает исключение, это приводит к FutureContinuationHasThrownViolation [SWS_CORE_00331] [SWS_CORE_00337]. Исключения в замыканиях должны перехватываться и возвращаться в виде состояния ошибки в форме Result или Future [SWS_CORE_00331] [SWS_CORE_00337].

Настоящее руководство основано исключительно на требованиях спецификации AUTOSAR Adaptive Core (R25-11).

Карта членов

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

2

Операторы

1

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

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

G nara__core__Future930 Future + Future() + operator=() + ~Future() + GetResult() + get() + is_ready() + then() + valid() + wait() + wait_for() + wait_until()

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

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

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

Future функция 3

Default constructor This function shall behave the same as the corresponding std::future function. ≙ std::future

Перегрузки Future 3
Future () noexcept=default; SWS_CORE_00322
Future (Future &&other) noexcept; SWS_CORE_00323
Future (const Future &)=delete; SWS_CORE_00334
~Future функция

Destructor for Future objects. Abandons any shared state

~Future () noexcept;

Методы

get функция

Get the value.

T get () noexcept(false);
GetResult функция

Get the result.

Result< T, E > GetResult () noexcept(std::is_nothrow_move_ constructible< T >::value &&std::is_nothrow_move_constructible< E >::value);
is_ready функция

Return whether the asynchronous operation has finished.

bool is_ready () const noexcept;
then функция 2

Create a new Future with the content returned by func when passed the Result of this Future. The callable func may be called in the context of this call or in the context of • Promise::set_result(const T&) • Promise::set_result(T&&) • Promise::SetError(E&&) • Promise::SetError(const E&) or somewhere else.

Перегрузки then 2
template <typename F> auto then (F &&func) noexcept -> Future< <see below> >; SWS_CORE_00331
template <typename F, typename ExecutorT> auto then (F &&func, ExecutorT &&executor) noexcept -> Future< <see below> >; SWS_CORE_00337
valid функция

Checks if the Future is valid, i.e. if it has a shared state.

bool valid () const noexcept;
wait функция

Wait for a value or an error to be available.

void wait () const noexcept;
wait_for функция

Wait for the timeoutDuration or until a value or an error is available.

template <typename Rep, typename Period> FutureStatus wait_for (const std::chrono::duration< Rep, Period > &timeoutDuration) const noexcept;
wait_until функция

Wait until the deadline or until a value or an error is available.

template <typename Clock, typename Duration> FutureStatus wait_until (const std::chrono::time_point< Clock, Duration > &deadline) const noexcept;

Операторы

operator= функция 2

Move assign from another instance. This function shall behave the same as the corresponding std::future function. ≙ std::future

Перегрузки = 2
Future & operator= (Future &&other) noexcept; SWS_CORE_00325
Future & operator= (const Future &)=delete; SWS_CORE_00335

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

функция Future [SWS_CORE_00322] Upstream: RS_AP_00130

Future () noexcept=default;

Default constructor This function shall behave the same as the corresponding std::future function.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00322
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00322@rel:R25-11#8adea3bf
Content hash
8adea3bf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00322
Status: valid/unmigrated Version: rel:R25-11#869eb074 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_CORE_00322@rel:R25-11#869eb074
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f20c46ff2026-09-30
  • R19-11rel:R19-11#dea6599e2026-10-14
  • R20-11rel:R20-11#40f0427d2026-10-14
  • R21-11rel:R21-11#40f0427d2026-10-14
  • R22-11rel:R22-11#3116da522026-10-14
  • R23-11rel:R23-11#42749bfd2026-10-14
  • R24-11rel:R24-11#27bc40832026-10-14
  • R25-11rel:R25-11#869eb0742026-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

функция Future [SWS_CORE_00323] Upstream: RS_AP_00130

Future (Future &&other) noexcept;

Move constructor from another instance This function shall behave the same as the corresponding std::future function.

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

Parameter (in)

ParameterBeschreibung
otherthe other instance

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

Record
AUTOSAR/AP/record/SWS_CORE_00323
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00323@rel:R25-11#e44ac7c1
Content hash
e44ac7c1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00323
Status: valid/unmigrated Version: rel:R25-11#67bc21d5 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_CORE_00323@rel:R25-11#67bc21d5
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#16df79b52026-09-30
  • R19-11rel:R19-11#8b1810862026-10-14
  • R20-11rel:R20-11#d2675b492026-10-14
  • R21-11rel:R21-11#9ce1ca602026-10-14
  • R22-11rel:R22-11#62a98b892026-10-14
  • R23-11rel:R23-11#d38da6892026-10-14
  • R24-11rel:R24-11#7f1618232026-10-14
  • R25-11rel:R25-11#67bc21d52026-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

функция Future [SWS_CORE_00334] Upstream: RS_AP_00130

Future (const Future &)=delete;

Copy constructor shall be disabled

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future

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

Record
AUTOSAR/AP/record/SWS_CORE_00334
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00334@rel:R25-11#205b843d
Content hash
205b843d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00334
Status: valid/unmigrated Version: rel:R25-11#1f07079c 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_CORE_00334@rel:R25-11#1f07079c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#108bb8a72026-09-30
  • R19-11rel:R19-11#4a6d37412026-10-14
  • R20-11rel:R20-11#a10780802026-10-14
  • R21-11rel:R21-11#2f2e218f2026-10-14
  • R22-11rel:R22-11#2129f6a42026-10-14
  • R23-11rel:R23-11#ce09ab2b2026-10-14
  • R24-11rel:R24-11#7862d2022026-10-14
  • R25-11rel:R25-11#1f07079c2026-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

функция GetResult [SWS_CORE_00336] Upstream: RS_AP_00130

Result< T, E > GetResult () noexcept(std::is_nothrow_move_ constructible< T >::value &&std::is_nothrow_move_constructible< E >::value);

Get the result.

Similar to Future::get(), this call blocks until the value or an error is available. However, this call will never throw an exception.

As per std::future, after this function is called the Future is no longer valid ( valid() ==FALSE ).

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid ( valid() ==FALSE ). lation

Rückgabewert

TypBeschreibung
Result< T, E >a ara::core::Result as std::move( result from the shared state) with either a value or an error that has been put into the corresponding Promise. This can be because either: • – Promise::SetError(E&&) – Promise::SetError(const E&) – Promise::SetResult(const Result<T, E>&) – Promise::SetResult(Result<T, E>&&) • the Promise was broken, meaning the shared state was abandoned by the corresponding Promise. Then the error is kBrokenPromise as defined in [SWS_CORE_00400].

Fehler

FehlercodeBeschreibung
FutureErrc::kBrokenPromiserollback_semantics if the Promise was broken, meaning the shared state was abandoned by the corresponding Promise.

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

Record
AUTOSAR/AP/record/SWS_CORE_00336
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00336@rel:R25-11#f520e4e1
Content hash
f520e4e1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00336
Status: valid/unmigrated Version: rel:R25-11#0af67485 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_CORE_00336@rel:R25-11#0af67485
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7983aa762026-09-30
  • R19-11rel:R19-11#1ac6dc312026-10-14
  • R20-11rel:R20-11#652256322026-10-14
  • R21-11rel:R21-11#652256322026-10-14
  • R22-11rel:R22-11#8964f0202026-10-14
  • R23-11rel:R23-11#2380a90e2026-10-14
  • R24-11rel:R24-11#09c337922026-10-14
  • R25-11rel:R25-11#0af674852026-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

функция get [SWS_CORE_00326] Upstream: RS_AP_00130

T get () noexcept(false);

Get the value.

This function shall behave the same as the corresponding std::future function.

As per std::future, after this function is called the Future is no longer valid ( valid() ==FALSE ).

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

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

Метод get() синхронно извлекает результат типа T из ara::core::Future [SWS_CORE_00326]. Функция ведет себя идентично аналогу в std::future; если асинхронное вычисление все еще продолжается, вызов блокируется до завершения или до возникновения ошибки [SWS_CORE_00336]. В результате вызова объект теряет свое состояние, так что future немедленно становится недействительным (valid() == false) [SWS_CORE_00326]. Неблокирующий вызов можно предварительно обезопасить с помощью is_ready() [SWS_CORE_00332].

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

Сбои сообщаются через исключения C++ [SWS_CORE_00326]:

  • Если в связанном Promise через SetError() или SetResult() была сохранена ошибка, генерируется исключение соответствующего типа ошибки [SWS_CORE_00326].
  • Если общее состояние (shared state) преждевременно покидается асинхронной операцией, это приводит к ошибке kBrokenPromise согласно FutureErrc [SWS_CORE_00326], [SWS_CORE_00400].
  • Если вызов выполняется на недействительном экземпляре, выбрасывается FutureException с кодом ошибки kNoState [SWS_CORE_00326].

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

Операция не является ни потокобезопасной, ни безопасной относительно исключений (not exception safe) [SWS_CORE_00326]. Одновременный доступ к одному и тому же future из нескольких потоков требует внешней синхронизации. Если исключения отключены в тулчейне компилятора, get() не участвует в разрешении перегрузки [SWS_CORE_00326]; для этого случая существует безысключительная альтернатива GetResult() [SWS_CORE_00336]. Для экземпляров без возвращаемого значения доступна специализация Future<void, E>::get() [SWS_CORE_06226].

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

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future
Exception-Sicherheitnot exception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
Tvalue of type T

Exceptions

Any exception of the type associated with the error that has been put into the corresponding Promise. This can be because either: • explicit setting of the Error via: – Promise::SetError(E&&) – Promise::SetError(const E&) – Promise::SetResult(const Result<T, E>&) – Promise::SetResult(Result<T, E>&&) • the Promise was broken, meaning the shared state was abandoned by the corresponding Promise. Then the error is kBrokenPromise as defined in [SWS_CORE_00400]. FutureException if the Future is invalid. The contained ErrorCode is kNoState

Hinweise: This function shall not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain

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

Record
AUTOSAR/AP/record/SWS_CORE_00326
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00326@rel:R25-11#9e001c98
Content hash
9e001c98
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00326
Status: valid/unmigrated Version: rel:R25-11#86352c5a 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_CORE_00326@rel:R25-11#86352c5a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#772635442026-09-30
  • R19-11rel:R19-11#bf2bb1bc2026-10-14
  • R20-11rel:R20-11#1b0259a32026-10-14
  • R21-11rel:R21-11#e72dc9d62026-10-14
  • R22-11rel:R22-11#5fce45d52026-10-14
  • R23-11rel:R23-11#2294bfde2026-10-14
  • R24-11rel:R24-11#83b80b3f2026-10-14
  • R25-11rel:R25-11#86352c5a2026-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_ready [SWS_CORE_00332] Upstream: RS_AP_00130

bool is_ready () const noexcept;

Return whether the asynchronous operation has finished.

If this function returns TRUE, get(), GetResult() and the wait() calls are guaranteed not to block.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid ( valid() ==FALSE ). lation

Rückgabewert

TypBeschreibung
bool• TRUE: the Future contains a value or an error • FALSE: the Future does NOT contain a value or an error

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

Record
AUTOSAR/AP/record/SWS_CORE_00332
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00332@rel:R25-11#cfd1c1cf
Content hash
cfd1c1cf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00332
Status: valid/unmigrated Version: rel:R25-11#3a721122 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_CORE_00332@rel:R25-11#3a721122
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7b5a5cd82026-09-30
  • R19-11rel:R19-11#1351fbd62026-10-14
  • R20-11rel:R20-11#29432cbf2026-10-14
  • R21-11rel:R21-11#5f5d2ce12026-10-14
  • R22-11rel:R22-11#5dc081682026-10-14
  • R23-11rel:R23-11#377e18d72026-10-14
  • R24-11rel:R24-11#3361542e2026-10-14
  • R25-11rel:R25-11#3a7211222026-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_00325] Upstream: RS_AP_00130

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

Move assign from another instance. This function shall behave the same as the corresponding std::future function.

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

Parameter (in)

ParameterBeschreibung
otherthe other instance

Rückgabewert

TypBeschreibung
Future &*this

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

Record
AUTOSAR/AP/record/SWS_CORE_00325
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00325@rel:R25-11#2f46c413
Content hash
2f46c413
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00325
Status: valid/unmigrated Version: rel:R25-11#aaf376df 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_CORE_00325@rel:R25-11#aaf376df
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#13e5b1852026-09-30
  • R19-11rel:R19-11#93353d342026-10-14
  • R20-11rel:R20-11#3bdb585e2026-10-14
  • R21-11rel:R21-11#a4d956ef2026-10-14
  • R22-11rel:R22-11#9c832db92026-10-14
  • R23-11rel:R23-11#c2dbc2b52026-10-14
  • R24-11rel:R24-11#5c0627a82026-10-14
  • R25-11rel:R25-11#aaf376df2026-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_00335] Upstream: RS_AP_00130

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

Copy assignment operator shall be disabled

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future

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

Record
AUTOSAR/AP/record/SWS_CORE_00335
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00335@rel:R25-11#9cdc1d31
Content hash
9cdc1d31
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00335
Status: valid/unmigrated Version: rel:R25-11#9bdef4fb 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_CORE_00335@rel:R25-11#9bdef4fb
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b9b4dead2026-09-30
  • R19-11rel:R19-11#3780a25f2026-10-14
  • R20-11rel:R20-11#7f6cf9742026-10-14
  • R21-11rel:R21-11#7f6cf9742026-10-14
  • R22-11rel:R22-11#b8baf3702026-10-14
  • R23-11rel:R23-11#e09e21542026-10-14
  • R24-11rel:R24-11#bb38b8c92026-10-14
  • R25-11rel:R25-11#9bdef4fb2026-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

функция then [SWS_CORE_00331] Upstream: RS_AP_00130

template <typename F> auto then (F &&func) noexcept -> Future< <see below> >;

Create a new Future with the content returned by func when passed the Result of this Future. The callable func may be called in the context of this call or in the context of • Promise::set_result(const T&) • Promise::set_result(T&&) • Promise::SetError(E&&) • Promise::SetError(const E&) or somewhere else.

valid() ==FALSE on the original Future object immediately after it returns.

The Callable input argument func takes a Result<T,E> object as parameter. This will be the Result obtained via GetResult() from the Future instance itself, on which then(...) is being called. The Result is passed to func as an rvalue expression.

The return type of then(...) depends on the return type of func (aka continuation).

Let U be the return type of the continuation (i.e. a type equivalent to std::invoke_result_ t<std::decay_t<F>,Result<T,E>>). Return type deduction: • If U is Future<T2,E2> for some types T2, E2, then the return type of then(...) is Future<T2,E2>. This is known as implicit Future unwrapping. • If U is Result<T2,E2> for some types T2, E2, then the return type of then(...) is Future<T2,E2>. This is known as implicit Result unwrapping. • Otherwise it is Future<U,E> Continuations that are registered with then(...) are registered in the Future F that then (...) returns. No such continuation shall be executed after the destructor of the Future F returns. A continuation that is already being executed shall run to completion.

Note: that means that the destructor of Future might block until the currently running continuation has been completed.

The continuation shall not throw, except for the purpose of implementing a Violation.

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

Функция-член then служит для связывания в цепочку асинхронных вычислений и регистрирует вызываемый объект func как continuation на экземпляре ara::core::Future [SWS_CORE_00331]. После возврата из вызова исходный Future недействителен (valid() == false). Цель вызова получает полученный через GetResult() результат экземпляра в качестве rvalue типа Result<T, E> [SWS_CORE_00331].

Возвращаемый тип then зависит от возвращаемого типа U продолжения (continuation) [SWS_CORE_00331]:

  • Если func возвращает Future<T2, E2>, происходит неявное развертывание future (unwrapping) в Future<T2, E2> [SWS_CORE_00331].
  • Если func возвращает Result<T2, E2>, происходит неявное развертывание Result (unwrapping) в Future<T2, E2> [SWS_CORE_00331].
  • Во всех остальных случаях возвращаемым типом является Future<U, E> [SWS_CORE_00331].

Выполнение func может происходить синхронно в контексте вызова then, в контексте Promise::set_result или Promise::SetError либо в другом контексте [SWS_CORE_00331]. Вызов специфицирован как непотокобезопасный. Continuation регистрируется в возвращенном Future; после возврата из его деструктора ни одно continuation больше не должно выполняться, тогда как уже запущенное выполнение дорабатывает до конца [SWS_CORE_00331].

Стандартизированные коды ошибок отсутствуют [SWS_CORE_00331]. Ошибки должны перехватываться пользователями и передаваться дальше в виде кода ошибки в возвращаемом Result или Future, поскольку исключения не должны покидать continuation. Вызов на недействительном Future вызывает FutureInvalidViolation; если continuation выбрасывает исключение, это приводит к FutureContinuationHasThrownViolation [SWS_CORE_00331].

Для выполнения в явном контексте выполнения доступна перегрузка с экзекутором [SWS_CORE_00337], тогда как для операций без возвращаемого значения задействуется void-специализация [SWS_CORE_06231].

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

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid ( valid ==FALSE ) lation FutureContinua- If the continuation throws an exception tionHasThrownVio- lation

Parameter (in)

ParameterBeschreibung
funca callable to register

Rückgabewert

TypBeschreibung
Future< <see below> >a new Future instance for the result of the continuation

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.
Hinweise: Users who need to propagate information from closures’ exceptions should translate them to an error and return an ara::core::Result or ara::core::Future from the continuation with the error stored in it. Exceptions can be used within the continuation, however if they do not realize a Violation, they must not escape the continuation.

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

Record
AUTOSAR/AP/record/SWS_CORE_00331
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00331@rel:R25-11#94dcaac0
Content hash
94dcaac0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00331
Status: valid/unmigrated Version: rel:R25-11#7ccfcd36 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_CORE_00331@rel:R25-11#7ccfcd36
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#07a6189e2026-09-30
  • R19-11rel:R19-11#ab04e9222026-10-14
  • R20-11rel:R20-11#99557d6e2026-10-14
  • R21-11rel:R21-11#3a933d6a2026-10-14
  • R22-11rel:R22-11#008dba362026-10-14
  • R23-11rel:R23-11#4907cfa12026-10-14
  • R24-11rel:R24-11#2eae23502026-10-14
  • R25-11rel:R25-11#7ccfcd362026-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

функция then [SWS_CORE_00337] Upstream: RS_AP_00130

template <typename F, typename ExecutorT> auto then (F &&func, ExecutorT &&executor) noexcept -> Future< <see below> >;

Create a new Future with the content returned by func when passed the Result of this Future. func is called in the context of the provided execution context executor. valid() == false on the original Future object immediately after it returns. The Callable input argument "func" takes a Result<T,E> object as parameter. This will be the Result obtained via GetResult from the Future instance itself, on which .then() is being called. The Result is passed to func as an rvalue expression. The return type of then depends on the return type of func (aka continuation). Let U be the return type of the continuation (i.e. a type equivalent to std::invoke_result_ t<std::decay_t<F>,Result<T,E>>). • If U is Future<T2,E2> for some types T2, E2, then the return type of then() is Future<T2,E2>. This is known as implicit Future unwrapping. • If U is Result<T2,E2> for some types T2, E2, then the return type of then() is Future<T2,E2>. This is known as implicit Result unwrapping. • Otherwise it is Future<U,E>. Continuations that are registered with Future::then() are registered in the Future F that Future::then() returns. No such continuation shall be executed after the destructor of the Future F returns. A continuation that is already being executed shall run to completion. Note: that means that the destructor of Future might block until the currently running continuation has been completed. The continuation shall not throw, except for the purpose of implementing a Violation. Note: Exceptions can be used within the continuation, however if they do not realize a Violation, they must not escape the continuation. Note: Users who need to propagate information from closures’ exceptions should translate them to an error and return an ara::core::Result or ara::core::Future from the continuation with the error stored in it.

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

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

Метод then регистрирует continuation (func), который асинхронно выполняется в контексте переданного executor, как только готов результат текущего экземпляра Future [SWS_CORE_00337]. Вызываемая сущность принимает результат экземпляра как rvalue-выражение типа Result<T,E> [SWS_CORE_00337]. Возвращаемый тип определяется типом возвращаемого значения U continuation:

  • Если continuation возвращает Future<T2,E2>, происходит неявная распаковка в Future<T2,E2> [SWS_CORE_00337].
  • Если continuation возвращает Result<T2,E2>, оно также неявно преобразуется в Future<T2,E2> [SWS_CORE_00337].
  • Во всех остальных случаях вызов возвращает Future<U,E> [SWS_CORE_00337].

Параллелизм и жизненный цикл

Сразу после возврата из вызова метода исходный экземпляр Future становится недействительным (valid() == false) [SWS_CORE_00337]. Функция объявлена как потоконебезопасная [SWS_CORE_00337]. Зарегистрированные continuations управляются во вновь возвращенном Future. По истечении работы его деструктора ни один continuation больше не может быть запущен; уже выполняющееся исполнение доводится до конца, вследствие чего деструктор может блокироваться [SWS_CORE_00337].

Обработка ошибок и взаимодействие

Стандартизированные коды ошибок не определены [SWS_CORE_00337]. Вызов на недействительном экземпляре приводит к нарушению (violation) FutureInvalidViolation [SWS_CORE_00337]. Если continuation выбрасывает исключение, это приводит к FutureContinuationHasThrownViolation; поэтому исключения должны перехватываться и передаваться дальше в виде ошибки через ara::core::Result или ara::core::Future [SWS_CORE_00337]. В отличие от перегрузки без контекста выполнения [SWS_CORE_00331], этот вариант принудительно задает выполнение на переданном Executor; для типов результатов void существует аналогичная специализация [SWS_CORE_06237].

Данное указание по использованию основано на спецификации AUTOSAR Adaptive R25-11.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid ( valid ==FALSE ) lation FutureContinua- If the continuation throws an exception tionHasThrownVio- lation

Template-Parameter

ParameterBeschreibung
FExecutorTthe type of the func argument the type of the executor argument

Parameter (in)

ParameterBeschreibung
funca callable to register
executorthe execution context in which to execute func

Rückgabewert

TypBeschreibung
Future< <see below> >a new Future instance for the result of the continuation

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CORE_00337
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00337@rel:R25-11#fc44b2f8
Content hash
fc44b2f8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00337
Status: valid/unmigrated Version: rel:R25-11#749fe9dc Versionshistorie & Revisions (1 transition, 7 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_00337@rel:R25-11#749fe9dc
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#1e610dd32026-09-30
  • R20-11rel:R20-11#12659cf92026-10-14
  • R21-11rel:R21-11#ecfba0d52026-10-14
  • R22-11rel:R22-11#d94fa7762026-10-14
  • R23-11rel:R23-11#8b664ec92026-10-14
  • R24-11rel:R24-11#853472252026-10-14
  • R25-11rel:R25-11#749fe9dc2026-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

функция valid [SWS_CORE_00327] Upstream: RS_AP_00130

bool valid () const noexcept;

Checks if the Future is valid, i.e. if it has a shared state.

This function shall behave the same as the corresponding std::future function.

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

Синхронная функция запроса valid() проверяет без параметров, имеет ли экземпляр ara::core::Future разделяемое состояние (Shared State) и пригоден ли он тем самым к использованию [SWS_CORE_00327]. Она возвращает true, если объект готов к использованию, и false, если разделяемое состояние отсутствует [SWS_CORE_00327]. Поведение соответствует стандартной функции std::future::valid и аналогичным образом распространяется на специализацию шаблона ara::core::Future<void, E> [SWS_CORE_06227].

Функция объявлена как noexcept, считается безопасной относительно исключений (exception safe) и явно специфицирована как потокобезопасная (thread-safe) [SWS_CORE_00327]. Она сама не генерирует кодов ошибок или исключений и поэтому может безопасно применяться для проверки состояния [SWS_CORE_00327].

При взаимодействии с другими методами Future проверка валидности имеет решающее значение, поскольку вызывающие операции, такие как wait() [SWS_CORE_00328] или is_ready() [SWS_CORE_00332], при недействительном состоянии (valid() == false) вызывают FutureInvalidViolation. Ранее действительный Future автоматически становится недействительным, как только его результат потребляется через get() [SWS_CORE_00326] или GetResult() [SWS_CORE_00336], либо когда зарегистрирована дальнейшая обработка через then() [SWS_CORE_00331], [SWS_CORE_00337].

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

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

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

Rückgabewert

TypBeschreibung
bool• TRUE: the Future is usable • FALSE: the Future is NOT usable

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

Record
AUTOSAR/AP/record/SWS_CORE_00327
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00327@rel:R25-11#80c1e4f3
Content hash
80c1e4f3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00327
Status: valid/unmigrated Version: rel:R25-11#67ea8cce 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_CORE_00327@rel:R25-11#67ea8cce
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d314fbc32026-09-30
  • R19-11rel:R19-11#80d78b532026-10-14
  • R20-11rel:R20-11#b7f4e1552026-10-14
  • R21-11rel:R21-11#688e791c2026-10-14
  • R22-11rel:R22-11#4e92dc072026-10-14
  • R23-11rel:R23-11#91718d0e2026-10-14
  • R24-11rel:R24-11#1c24bacf2026-10-14
  • R25-11rel:R25-11#67ea8cce2026-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

функция wait [SWS_CORE_00328] Upstream: RS_AP_00130

void wait () const noexcept;

Wait for a value or an error to be available.

This function shall behave the same as the corresponding std::future function

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

Функция-член wait класса ara::core::Future синхронно блокирует вызывающий поток до тех пор, пока не станет доступно результирующее значение или ошибка из асинхронной операции [SWS_CORE_00328]. Функция не принимает параметров, не возвращает значения и согласно спецификации ведёт себя аналогично соответствующей функции из std::future [SWS_CORE_00328]. То же поведение действует для специализации шаблона ara::core::Future<void, E> [SWS_CORE_06228].

В отношении обработки ошибок и параллелизма определены следующие требования:

  • Условие ошибки: если объект Future недействителен (valid == FALSE), имеет место FutureInvalidViolation [SWS_CORE_00328], [SWS_CORE_06228]. Тем не менее функция объявлена как noexcept и классифицирована как исключение-безопасная (exception safe) [SWS_CORE_00328].
  • Потокобезопасность: вызов явно классифицирован как not thread-safe [SWS_CORE_00328]. Параллельный доступ к одному и тому же объекту Future без внешней синхронизации недопустим.

Во взаимодействии с родственными интерфейсами перед вызовом рекомендуется проверка с помощью is_ready [SWS_CORE_00332], [SWS_CORE_06232]: если она возвращает true, вызов wait гарантированно больше не блокирует. Если вместо неограниченного ожидания требуется ограниченная по времени операция блокировки, альтернативно доступны wait_for с относительной длительностью [SWS_CORE_00329], [SWS_CORE_06229], а также wait_until с абсолютной временной меткой [SWS_CORE_00330], [SWS_CORE_06230].

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

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid ( valid ==FALSE ) lation

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CORE_00328
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00328@rel:R25-11#74cc374f
Content hash
74cc374f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00328
Status: valid/unmigrated Version: rel:R25-11#7d1caea0 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_CORE_00328@rel:R25-11#7d1caea0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#71020ccc2026-09-30
  • R19-11rel:R19-11#1457e28d2026-10-14
  • R20-11rel:R20-11#7259d3062026-10-14
  • R21-11rel:R21-11#82e85c2e2026-10-14
  • R22-11rel:R22-11#63ca481a2026-10-14
  • R23-11rel:R23-11#7b23f9cb2026-10-14
  • R24-11rel:R24-11#4301d6592026-10-14
  • R25-11rel:R25-11#7d1caea02026-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

функция wait_for [SWS_CORE_00329] Upstream: RS_AP_00130

template <typename Rep, typename Period> FutureStatus wait_for (const std::chrono::duration< Rep, Period > &timeoutDuration) const noexcept;

Wait for the timeoutDuration or until a value or an error is available.

This function shall behave the same as the corresponding std::future function.

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

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

Функция-член wait_for класса ara::core::Future блокирует вызывающий поток максимум на переданный интервал времени timeoutDuration или до тех пор, пока значение результата или ошибка не станет доступным в разделяемом состоянии [SWS_CORE_00329]. Ее поведение соответствует корреспондирующей функции из std::future [SWS_CORE_00329]. В качестве возвращаемого значения она возвращает FutureStatus [SWS_CORE_00329], которое указывает, доступно ли разделяемое состояние (kReady) или истекло заданное время ожидания (kTimeout) [SWS_CORE_00361].

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

Функция объявлена как noexcept и специфицирована как безопасная относительно исключений (exception safe) [SWS_CORE_00329]. Если объект Future недействителен (valid == FALSE), имеет место нарушение в форме FutureInvalidViolation [SWS_CORE_00329]. Интерпретация: поскольку генерация исключений C++ запрещена, такое нарушение со стороны платформы, вероятно, должно обрабатываться как фатальная ошибка времени выполнения. Вопрос Q-2f22a07f6e143856 (открытый)

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

Операция классифицирована как not thread-safe [SWS_CORE_00329]; поэтому одновременный доступ к одному и тому же экземпляру требует внешней синхронизации. Семантика и сигнатура идентично действуют для специализации шаблона ara::core::Future<void, E> [SWS_CORE_06229]. В отличие от std::future_status, в типе перечисления FutureStatus отсутствует запись для deferred [SWS_CORE_00361].

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

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

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid ( valid ==FALSE ) lation

Parameter (in)

ParameterBeschreibung
timeoutDurationmaximal duration to wait for

Rückgabewert

TypBeschreibung
FutureStatusStatus that indicates whether the timeoutDuration expired or if a value is available

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

Record
AUTOSAR/AP/record/SWS_CORE_00329
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00329@rel:R25-11#c3d316b7
Content hash
c3d316b7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00329
Status: valid/unmigrated Version: rel:R25-11#bb164066 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_CORE_00329@rel:R25-11#bb164066
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#669e52732026-09-30
  • R19-11rel:R19-11#34429cdd2026-10-14
  • R20-11rel:R20-11#6e3fcfd92026-10-14
  • R21-11rel:R21-11#6e3fcfd92026-10-14
  • R22-11rel:R22-11#4c259d672026-10-14
  • R23-11rel:R23-11#ec6d12432026-10-14
  • R24-11rel:R24-11#adb812622026-10-14
  • R25-11rel:R25-11#bb1640662026-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

функция wait_until [SWS_CORE_00330] Upstream: RS_AP_00130

template <typename Clock, typename Duration> FutureStatus wait_until (const std::chrono::time_point< Clock, Duration > &deadline) const noexcept;

Wait until the deadline or until a value or an error is available.

This function shall behave the same as the corresponding std::future function.

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

Функция-член wait_until блокирует вызывающий поток до тех пор, пока либо не будет достигнут указанный абсолютный момент времени deadline, либо ara::core::Future не предоставит результат или ошибку [SWS_CORE_00330]. Поведение ориентируется на корреспондирующую функцию из std::future [SWS_CORE_00330].

В качестве возвращаемого значения функция возвращает FutureStatus [SWS_CORE_00330]. Этот тип enum сигнализирует через состояние kReady о том, что разделяемое состояние готово (значение или ошибка доступны), либо через kTimeout о том, что срок истек без получения результата [SWS_CORE_00361]. Состояние, аналогичное std::future_status::deferred, в FutureStatus отсутствует [SWS_CORE_00361].

В отношении обработки ошибок и безопасности исключений функция специфицирована как безопасная относительно исключений (exception safe) и noexcept [SWS_CORE_00330]. Однако если функция вызывается на недействительном экземпляре (valid == FALSE), возникает нарушение в виде FutureInvalidViolation [SWS_CORE_00330].

Что касается параллелизма, wait_until классифицируется как непотокобезопасная (not thread-safe) [SWS_CORE_00330]. Поэтому параллельные обращения к одному и тому же объекту ara::core::Future должны синхронизироваться извне. Та же семантика и сигнатура применимы к специализации ara::core::Future<void, E> [SWS_CORE_06230].

Этот текст был создан ИИ и служит в качестве ориентира. Определяющее значение имеет спецификация.

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

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid ( valid ==FALSE ) lation

Parameter (in)

ParameterBeschreibung
deadlinelatest point in time to wait

Rückgabewert

TypBeschreibung
FutureStatusstatus that indicates whether the deadline was reached or if a value is available

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

Record
AUTOSAR/AP/record/SWS_CORE_00330
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00330@rel:R25-11#e1ad9773
Content hash
e1ad9773
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00330
Status: valid/unmigrated Version: rel:R25-11#00db6175 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_CORE_00330@rel:R25-11#00db6175
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f662b2c42026-09-30
  • R19-11rel:R19-11#a84101962026-10-14
  • R20-11rel:R20-11#4f8fd4042026-10-14
  • R21-11rel:R21-11#0fe1ad9c2026-10-14
  • R22-11rel:R22-11#6ef3c1042026-10-14
  • R23-11rel:R23-11#872aa1602026-10-14
  • R24-11rel:R24-11#412256922026-10-14
  • R25-11rel:R25-11#00db61752026-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

функция ~Future [SWS_CORE_00333] Upstream: RS_AP_00130

~Future () noexcept;

Destructor for Future objects. Abandons any shared state

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future
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_00333
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00333@rel:R25-11#803b64c3
Content hash
803b64c3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00333
Status: valid/unmigrated Version: rel:R25-11#2689e3e8 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_CORE_00333@rel:R25-11#2689e3e8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#16f70bc12026-09-30
  • R19-11rel:R19-11#42ac89202026-10-14
  • R20-11rel:R20-11#8f4a235f2026-10-14
  • R21-11rel:R21-11#eccb21be2026-10-14
  • R22-11rel:R22-11#58e9180f2026-10-14
  • R23-11rel:R23-11#b308517b2026-10-14
  • R24-11rel:R24-11#02a09fc62026-10-14
  • R25-11rel:R25-11#2689e3e82026-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