DEENESPTFRRUARHIKOZHNL

class ara::core::Future< void, E >

[SWS_CORE_06221] Upstream: RS_AP_00130

template <typename E> class Future< void, E > final {...};

Specialization of class Future for "void" values. The implementation shall flag the condition: ( E != ara::core::ErrorCode ) as a compile error.

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

User GuideKI-GENERIERT

Ermöglicht das Warten auf den Abschluss einer asynchronen Operation ohne Rückgabewert sowie die Entnahme des Fehlerstatus.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e943c154e07e Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht das Warten auf den Abschluss einer asynchronen Operation ohne Rückgabewert sowie die Entnahme des Fehlerstatus.

Die Klasse ara::core::Future<void, E> ermöglicht die asynchrone Synchronisation und Fehlerprüfung von Operationen ohne Rückgabewert in AUTOSAR Adaptive [SWS_CORE_06236]. Als nicht-kopierbarer Typ erlaubt sie das Warten auf den Abschluss sowie die ausnahmesichere Ergebnisabholung als ara::core::Result<void, E> [SWS_CORE_06236] oder die asynchrone Weiterverarbeitung per Fortsetzungsfunktion [SWS_CORE_06231]. Nach Entnahme des Ergebnisses wird der geteilte Zustand invalidiert, sodass Folgeaufrufe ohne gültigen Zustand eine Verletzung darstellen [SWS_CORE_06236].

Kontext

Die Template-Klassenspezialisierung ara::core::Future<void, E> repräsentiert das Empfängerende einer asynchronen Operation in AUTOSAR Adaptive, die bei erfolgreichem Abschluss keinen Wert zurückliefert, sondern rein den Eintritt des Ereignisses oder einen aufgetretenen Fehler signalisiert. Gemäß der Klassenbeschreibung muss die Implementierung die Bedingung E != ara::core::ErrorCode mit einem Übersetzungsfehler quittieren. Die Klasse interagiert typischerweise mit einem korrespondierenden ara::core::Promise, das den geteilten Zustand (Shared State) befüllt [SWS_CORE_06236], sowie mit asynchronen Ausführungskontexten bei der Registrierung von Fortsetzungsfunktionen [SWS_CORE_06237].

Lebenszyklus

Instanzen von ara::core::Future<void, E> sind reine Move-Semantik-Objekte: Der Kopierkonstruktor [SWS_CORE_06234] sowie der Kopierzuweisungsoperator [SWS_CORE_06235] sind gelöscht (delete). Ein über den Standardkonstruktor erzeugtes Objekt besitzt keinen geteilten Zustand und verhält sich analog zu std::future [SWS_CORE_06222]. Mittels Verschiebekonstruktion [SWS_CORE_06223] oder Verschiebezuweisung [SWS_CORE_06225] übernimmt eine Instanz den Besitz eines Shared State von einer anderen Instanz.

Der Lebenszyklus wird maßgeblich durch den Zustand des Shared State geprägt. Über die Methode valid() kann geprüft werden, ob die Instanz an einen Shared State gebunden und damit nutzbar ist [SWS_CORE_06227]. Sobald das Ergebnis mittels GetResult() [SWS_CORE_06236] oder get() [SWS_CORE_06226] abgeholt oder eine Fortsetzung über then() [SWS_CORE_06231] registriert wird, verliert das Future-Objekt seinen Shared State und valid() liefert false. Der Destruktor gibt einen verbliebenen geteilten Zustand frei [SWS_CORE_06233]. Hinsichtlich der Nebenläufigkeit sind Prüf- und Zerstörungsoperationen wie valid() [SWS_CORE_06227], is_ready() [SWS_CORE_06232] und der Destruktor [SWS_CORE_06233] threadsicher, während zustandsverändernde Operationen wie GetResult() [SWS_CORE_06236], get() [SWS_CORE_06226] und die Wartefunktionen [SWS_CORE_06228] nicht threadsicher sind.

future_states Ungueltig Ungültig (valid() == false) Ausstehend Gültig / Ausstehend (valid() == true, is_ready() == false) Ungueltig->Ausstehend Move-Konstruktion / Zuweisung Ausstehend->Ungueltig then() Bereit Gültig / Bereit (valid() == true, is_ready() == true) Ausstehend->Bereit Promise setzt Wert / Fehler Bereit->Ungueltig GetResult() / get() Bereit->Ungueltig then()

Zustandsdiagramm: Zustandsübergänge und Gültigkeit von ara::core::Future<void, E>. Quellen: [SWS_CORE_06222], [SWS_CORE_06226], [SWS_CORE_06227], [SWS_CORE_06231], [SWS_CORE_06232], [SWS_CORE_06233], [SWS_CORE_06236]

Nutzungspfad

Im synchronen Nutzungspfad wartet ein Konsument auf die Fertigstellung der asynchronen Operation. Mit is_ready() lässt sich blockadearm abfragen, ob ein Wert oder ein Fehler vorliegt [SWS_CORE_06232]. Alternativ kann mittels wait() blockierend gewartet werden [SWS_CORE_06228], oder zeitlich begrenzt über wait_for() [SWS_CORE_06229] und wait_until() [SWS_CORE_06230]. Ist das Ergebnis verfügbar, erfolgt die Wertabfrage vorzugsweise ausnahmesicher über GetResult(), wodurch ein ara::core::Result<void, E> zurückgegeben wird [SWS_CORE_06236].

Im asynchronen Pfad erlaubt die Methode then() die Registrierung einer Fortsetzungsfunktion (Continuation), die ausgeführt wird, sobald das Ergebnis vorliegt [SWS_CORE_06231]. Hierbei kann optional ein Ausführungskontext (Executor) übergeben werden [SWS_CORE_06237]. Die Continuation nimmt das Result<void, E> als Rvalue entgegen. Der Rückgabetyp von then() entpackt geschachtelte Future- oder Result-Typen automatisch (Unwrapping) [SWS_CORE_06231].

Synchroner Abruf des Ergebnisses via GetResultAnwendungFutureSharedStatevalid()trueis_ready()Status prüfentrue (Ergebnis oder Fehler bereit)trueGetResult()std::move(Ergebnis)Result<void, E>Shared State ungültig setzen (valid() == false)Result<void, E>

Sequenzdiagramm: Synchroner Ablauf zur Ergebnisabfrage über GetResult. Quellen: [SWS_CORE_06227], [SWS_CORE_06228], [SWS_CORE_06232], [SWS_CORE_06236]

Fehlerszenarien

Wird eine zustandsabhängige Operation (wie GetResult(), is_ready(), wait(), wait_for(), wait_until() oder then()) auf einer ungültigen Instanz (valid() == false) aufgerufen, liegt eine Verletzung der Vorbedingung vor, die als FutureInvalidViolation behandelt wird [SWS_CORE_06228], [SWS_CORE_06229], [SWS_CORE_06230], [SWS_CORE_06231], [SWS_CORE_06232], [SWS_CORE_06236], [SWS_CORE_06237]. Bei Aufruf von get() auf einer ungültigen Instanz wird stattdessen eine FutureException mit dem Fehlercode kNoState ausgelöst [SWS_CORE_06226]; get() nimmt bei deaktivierten C++-Exceptions nicht an der Überladungsauflösung teil [SWS_CORE_06226].

Wurde das korrespondierende Promise zerstört oder hat es den geteilten Zustand verlassen, ohne ein Ergebnis oder einen expliziten Fehler zu setzen, wird der Fehlercode FutureErrc::kBrokenPromise gemäß [SWS_CORE_00400] im Shared State hinterlegt [SWS_CORE_06226], [SWS_CORE_06236]. Dieser wird von GetResult() als Fehler im Result<void, E> zurückgegeben [SWS_CORE_06236]. Wirft eine in then() registrierte Continuation eine Ausnahme, die keine Verletzung implementiert, führt dies zur FutureContinuationHasThrownViolation [SWS_CORE_06231], [SWS_CORE_06237].

Dieser Leitfaden basiert ausschließlich auf der AUTOSAR-Spezifikation für ara::core::Future<void, E> im Release R25-11.

Mitgliederkarte

Konstruktoren und Destruktor

2

Operatoren

1

Klassendiagramm

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

G nara__core__Future__void__E__740 Future< void, E > + Future() + operator=() + ~Future() + GetResult() + get() + is_ready() + then() + valid() + wait() + wait_for() + wait_until()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Future function 3

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

Überladungen Future 3
Future () noexcept; SWS_CORE_06222
Future (Future &&other) noexcept; SWS_CORE_06223
Future (const Future &other)=delete; SWS_CORE_06234
~Future function

Destructor for Future objects. Abandons any shared state

~Future () noexcept;

Methoden

get function

Returns nothing. This function shall behave the same as the corresponding std::future function. Part of the behavior taken from the std::future is that after a call to this function the Future is not valid anymore (valid() == false). ≙ std::future

void get () noexcept(false);
GetResult function

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. Part of the behavior taken from Future::get() is that after a call to this function the Future is not valid anymore (valid() == false).

Result< void, E > GetResult () noexcept(std::is_nothrow_move_ constructible< E >::value);
is_ready function

Return whether the asynchronous operation has finished. If this function returns true, get(), Get Result() and the wait calls are guaranteed not to block.

bool is_ready () const noexcept;
then function 2

Create a new Future with the content returned by func when passed the Result of this Future. func may be called in the context of this call or in the context of Promise::set_value() or Promise::SetError() or somewhere else. valid() == false on the original future object immediately after it returns. The Callable input argument "func" takes a Result<void,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<void,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. ≙ std::invoke_result_

Überladungen then 2
template <typename F> auto then (F &&func) noexcept -> Future< <see below> >; SWS_CORE_06231
template <typename F, typename ExecutorT> auto then (F &&func, ExecutorT &&executor) noexcept -> Future< <see below> >; SWS_CORE_06237
valid function

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

bool valid () const noexcept;
wait function

Wait for a value or an error to be available. This function shall behave the same as the corresponding std::future function ≙ std::future

void wait () const noexcept;
wait_for function

Wait for the given period, or until a value or an error is available. This function shall behave the same as the corresponding std::future function ≙ std::future

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

Wait until the given time, or until a value or an error is available. This function shall behave the same as the corresponding std::future function. ≙ std::future

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

Operatoren

operator= function 2

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

Überladungen = 2
Future & operator= (Future &&other) noexcept; SWS_CORE_06225
Future & operator= (const Future &other)=delete; SWS_CORE_06235

Dokumentation der Methoden

function Future [SWS_CORE_06222] Upstream: RS_AP_00130

Future () noexcept;

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< void, E >
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

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

Record
AUTOSAR/AP/record/SWS_CORE_06222
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06222@rel:R25-11#1afcba65
Content hash
1afcba65
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06222
Status: valid/unmigrated Version: rel:R25-11#5a060501 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_06222@rel:R25-11#5a060501
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#1afcba652026-09-30
  • R19-11rel:R19-11#0daa41512026-10-14
  • R20-11rel:R20-11#2b96cd1f2026-10-14
  • R21-11rel:R21-11#2b96cd1f2026-10-14
  • R22-11rel:R22-11#769923512026-10-14
  • R23-11rel:R23-11#5dfa683d2026-10-14
  • R24-11rel:R24-11#5c2585642026-10-14
  • R25-11rel:R25-11#5a0605012026-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

function Future [SWS_CORE_06223] 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< void, E >
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_06223
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06223@rel:R25-11#c4ca9e91
Content hash
c4ca9e91
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06223
Status: valid/unmigrated Version: rel:R25-11#d8ab302b 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_06223@rel:R25-11#d8ab302b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c4ca9e912026-09-30
  • R19-11rel:R19-11#a14b593d2026-10-14
  • R20-11rel:R20-11#29b853f02026-10-14
  • R21-11rel:R21-11#29b853f02026-10-14
  • R22-11rel:R22-11#0b366b7e2026-10-14
  • R23-11rel:R23-11#4e1158ee2026-10-14
  • R24-11rel:R24-11#43ec03e42026-10-14
  • R25-11rel:R25-11#d8ab302b2026-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

function Future [SWS_CORE_06234] Upstream: RS_AP_00130

Future (const Future &other)=delete;

Copy constructor shall be disabled

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future< void, E >

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

Record
AUTOSAR/AP/record/SWS_CORE_06234
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06234@rel:R25-11#f81e6290
Content hash
f81e6290
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06234
Status: valid/unmigrated Version: rel:R25-11#56462c5d 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_06234@rel:R25-11#56462c5d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f81e62902026-09-30
  • R19-11rel:R19-11#544640f62026-10-14
  • R20-11rel:R20-11#d96a22e02026-10-14
  • R21-11rel:R21-11#ea4dbae52026-10-14
  • R22-11rel:R22-11#302289e52026-10-14
  • R23-11rel:R23-11#8c086a182026-10-14
  • R24-11rel:R24-11#7c2e887e2026-10-14
  • R25-11rel:R25-11#56462c5d2026-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

function GetResult [SWS_CORE_06236] Upstream: RS_AP_00130

Result< void, E > GetResult () noexcept(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. Part of the behavior taken from Future::get() is that after a call to this function the Future is not valid anymore (valid() == false).

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

Rückgabewert

TypBeschreibung
Result< void, E >a 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: • explicit setting of the Error via Promise::SetError / Promise::Set Result or • 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_06236
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06236@rel:R25-11#7184bdc9
Content hash
7184bdc9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06236
Status: valid/unmigrated Version: rel:R25-11#932914cb 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_06236@rel:R25-11#932914cb
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7184bdc92026-09-30
  • R19-11rel:R19-11#541daac72026-10-14
  • R20-11rel:R20-11#3adb03532026-10-14
  • R21-11rel:R21-11#3adb03532026-10-14
  • R22-11rel:R22-11#4366d27f2026-10-14
  • R23-11rel:R23-11#f033d7132026-10-14
  • R24-11rel:R24-11#243860772026-10-14
  • R25-11rel:R25-11#932914cb2026-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

function get [SWS_CORE_06226] Upstream: RS_AP_00130

void get () noexcept(false);

Returns nothing. This function shall behave the same as the corresponding std::future function. Part of the behavior taken from the std::future is that after a call to this function the Future is not valid anymore (valid() == false).

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 195e9e272b48 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Elementfunktion get der Spezialisierung ara::core::Future<void, E> dient dem Warten auf das Ergebnis einer asynchronen Operation ohne Rückgabewert ([SWS_CORE_06226]). Sie verhält sich wie die entsprechende Funktion von std::future und blockiert den Aufrufer, bis das Ergebnis oder ein Fehler bereitsteht ([SWS_CORE_06226], [SWS_CORE_00336]). Nach dem Aufruf verliert die Future-Instanz ihre Gültigkeit, sodass valid() == false gilt ([SWS_CORE_06226]).

Die Funktion ist nicht ausnahmesicher (not exception safe) deklariert ([SWS_CORE_06226]). Wurde im verknüpften Promise ein Fehler hinterlegt, wird eine entsprechende Ausnahme ausgelöst ([SWS_CORE_06226]). Wurde der gemeinsame Zustand vorzeitig aufgegeben, tritt der Fehlercode kBrokenPromise gemäß [SWS_CORE_00400] auf ([SWS_CORE_06226]). Wird get auf einer bereits ungültigen Instanz ausgeführt, wirft die Funktion eine FutureException mit dem Fehlercode kNoState ([SWS_CORE_06226]).

Hinsichtlich der Nebenläufigkeit ist die Methode nicht threadsicher (not thread-safe) ([SWS_CORE_06226]). Parallele Zugriffe auf dasselbe Objekt bedürfen daher einer externen Synchronisation. Des Weiteren nimmt die Funktion nicht an der Überladungsauflösung teil, wenn C++-Ausnahmen in der Compiler-Toolchain deaktiviert sind ([SWS_CORE_06226]).

Im Zusammenspiel mit verwandten Funktionen stellt [SWS_CORE_00332] (is_ready) sicher, dass get garantiert nicht blockiert, falls die Operation bereits fertiggestellt ist. Für Kontexte ohne Ausnahmen bietet AUTOSAR als Alternative [SWS_CORE_00336] (GetResult), welches Fehler über einen Ergebnis-Typ zurückmeldet, anstatt Ausnahmen zu werfen.

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe; verbindlich ist die AUTOSAR-Spezifikation.

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

Rückgabewert

TypBeschreibung
None

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 in case 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_06226
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06226@rel:R25-11#40fe5206
Content hash
40fe5206
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06226
Status: valid/unmigrated Version: rel:R25-11#6ad2ffae 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_06226@rel:R25-11#6ad2ffae
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#40fe52062026-09-30
  • R19-11rel:R19-11#877183822026-10-14
  • R20-11rel:R20-11#561b11012026-10-14
  • R21-11rel:R21-11#cd0d4bbb2026-10-14
  • R22-11rel:R22-11#41a0b49a2026-10-14
  • R23-11rel:R23-11#2c6048102026-10-14
  • R24-11rel:R24-11#2f0d210c2026-10-14
  • R25-11rel:R25-11#6ad2ffae2026-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

function is_ready [SWS_CORE_06232] Upstream: RS_AP_00130

bool is_ready () const noexcept;

Return whether the asynchronous operation has finished. If this function returns true, get(), Get Result() and the wait calls are guaranteed not to block.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future< void, E >
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid (valid returns false) lation

Rückgabewert

TypBeschreibung
booltrue if the Future contains a value or an error, false otherwise

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

Record
AUTOSAR/AP/record/SWS_CORE_06232
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06232@rel:R25-11#4784afca
Content hash
4784afca
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06232
Status: valid/unmigrated Version: rel:R25-11#5186dad5 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_06232@rel:R25-11#5186dad5
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#4784afca2026-09-30
  • R19-11rel:R19-11#b80f30db2026-10-14
  • R20-11rel:R20-11#e1d9ba9b2026-10-14
  • R21-11rel:R21-11#6a9c97832026-10-14
  • R22-11rel:R22-11#d2f71e3d2026-10-14
  • R23-11rel:R23-11#26d4877a2026-10-14
  • R24-11rel:R24-11#7af5dd2e2026-10-14
  • R25-11rel:R25-11#5186dad52026-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

function operator= [SWS_CORE_06225] 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< void, E >
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_06225
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06225@rel:R25-11#354308df
Content hash
354308df
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06225
Status: valid/unmigrated Version: rel:R25-11#9232ee22 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_06225@rel:R25-11#9232ee22
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#354308df2026-09-30
  • R19-11rel:R19-11#7ddd3a9d2026-10-14
  • R20-11rel:R20-11#309f3c9c2026-10-14
  • R21-11rel:R21-11#8d4849c42026-10-14
  • R22-11rel:R22-11#9833c73f2026-10-14
  • R23-11rel:R23-11#b37e21992026-10-14
  • R24-11rel:R24-11#9232ee222026-10-14
  • R25-11rel:R25-11#9232ee222026-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

function operator= [SWS_CORE_06235] Upstream: RS_AP_00130

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

Copy assignment operator shall be disabled

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future< void, E >

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

Record
AUTOSAR/AP/record/SWS_CORE_06235
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06235@rel:R25-11#7aa2f795
Content hash
7aa2f795
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06235
Status: valid/unmigrated Version: rel:R25-11#2ab3479c 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_06235@rel:R25-11#2ab3479c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7aa2f7952026-09-30
  • R19-11rel:R19-11#e583d7bd2026-10-14
  • R20-11rel:R20-11#d21de51e2026-10-14
  • R21-11rel:R21-11#d21de51e2026-10-14
  • R22-11rel:R22-11#31fde6ef2026-10-14
  • R23-11rel:R23-11#de56c2ed2026-10-14
  • R24-11rel:R24-11#fd4c55142026-10-14
  • R25-11rel:R25-11#2ab3479c2026-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

function then [SWS_CORE_06231] 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. func may be called in the context of this call or in the context of Promise::set_value() or Promise::SetError() or somewhere else. valid() == false on the original future object immediately after it returns. The Callable input argument "func" takes a Result<void,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<void,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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 161f9bad96ab Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode then registriert eine Folgeoperation (Continuation func) an einer ara::core::Future<void, E>-Instanz [SWS_CORE_06231]. Das aufrufbare Objekt nimmt das Ergebnis der Operation als Rvalue-Ausdruck vom Typ Result<void, E> entgegen, welches intern über GetResult bereitgestellt wird [SWS_CORE_06231]. Der Aufruf von func kann synchron im Kontext von then oder asynchron im Kontext von Promise::set_value(), Promise::SetError() beziehungsweise an anderer Stelle erfolgen [SWS_CORE_06231].

Unmittelbar nach Rückkehr von then ist das ursprüngliche Future ungültig (valid() == false) [SWS_CORE_06231]. Der Rückgabetyp passt sich dem Rückgabetyp U der Continuation an:

  • Gibt func ein Future<T2, E2> zurück, erfolgt ein implizites Entpacken und then gibt Future<T2, E2> zurück [SWS_CORE_06231].
  • Gibt func ein Result<T2, E2> zurück, wird dieses ebenfalls implizit zu Future<T2, E2> entpackt [SWS_CORE_06231].
  • In allen anderen Fällen ist der Rückgabetyp Future<U, E> [SWS_CORE_06231].

Fehlerbehandlung und Randbedingungen

Standardisierte Fehlercodes sind für diese Funktion nicht spezifiziert [SWS_CORE_06231]. Die Methode ist als noexcept deklariert, definiert jedoch zwei Verletzungen (Violations):

  • FutureInvalidViolation: Tritt auf, wenn die Methode auf einem ungültigen Future aufgerufen wird (falls valid() false zurückgibt) [SWS_CORE_06231].
  • FutureContinuationHasThrownViolation: Tritt auf, wenn die Continuation eine Ausnahme wirft, die keine Violation implementiert [SWS_CORE_06231]. Fehler in der Continuation müssen stattdessen in ein Result oder Future verpackt zurückgegeben werden [SWS_CORE_06231].

Nebenläufigkeit und Zusammenspiel

Die Methode ist nicht threadsicher (not thread-safe) [SWS_CORE_06231]. Nach Rückkehr des Destruktors des zurückgegebenen Futures wird keine registrierte Continuation mehr ausgeführt; eine bereits laufende Ausführung wird jedoch zu Ende geführt, sodass der Destruktor blockieren kann [SWS_CORE_06231]. Während [SWS_CORE_06231] für Future<void, E> gilt, beschreibt [SWS_CORE_00331] die Variante für typisierte Futures Future<T, E> und [SWS_CORE_06237] die Überladung mit explizitem Executor.

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation generiert.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future< void, E >
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid (valid returns 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.

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

Record
AUTOSAR/AP/record/SWS_CORE_06231
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06231@rel:R25-11#9e67efce
Content hash
9e67efce
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06231
Status: valid/unmigrated Version: rel:R25-11#21619af0 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_06231@rel:R25-11#21619af0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9e67efce2026-09-30
  • R19-11rel:R19-11#b5665d0f2026-10-14
  • R20-11rel:R20-11#0cd22f812026-10-14
  • R21-11rel:R21-11#f603398f2026-10-14
  • R22-11rel:R22-11#b27b86212026-10-14
  • R23-11rel:R23-11#2173d0cf2026-10-14
  • R24-11rel:R24-11#273db5c82026-10-14
  • R25-11rel:R25-11#21619af02026-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

function then [SWS_CORE_06237] 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<void,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<void,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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 96d3b0e93b60 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion then registriert ein aufrufbares Fortsetzungsobjekt (Continuation) func an einer Instanz von ara::core::Future<void, E> zur Ausführung im angegebenen Ausführungskontext executor [SWS_CORE_06237]. Unmittelbar nach der Rückgabe von then verliert die aufrufende Future-Instanz ihre Gültigkeit, sodass valid() == false ist [SWS_CORE_06237]. Die Fortsetzung erhält das Ergebnis der ursprünglichen Future-Instanz als Result<void, E> in Form eines Rvalue-Ausdrucks übergeben [SWS_CORE_06237]. Als Rückgabewert liefert der Aufruf eine neue Future-Instanz, wobei Rückgabetypen der Fortsetzung vom Typ Future<T2, E2> oder Result<T2, E2> implizit zu Future<T2, E2> entpackt werden; andernfalls wird ein Future<U, E> zurückgegeben [SWS_CORE_06237].

In Bezug auf Nebenläufigkeit und Lebenszyklus ist die Funktion als nicht threadsicher (not thread-safe) spezifiziert [SWS_CORE_06237]. Die Fortsetzung wird in dem neu zurückgegebenen Future registriert. Nach Rückkehr des Destruktors dieses neuen Futures darf keine Fortsetzung mehr ausgeführt werden; eine bereits in Ausführung befindliche Fortsetzung läuft jedoch vollständig zu Ende, weshalb der Destruktor des Futures blockieren kann [SWS_CORE_06237].

Die Funktion deklariert keine standardisierten Fehlercodes und ist als noexcept definiert [SWS_CORE_06237]. Wird sie auf einer ungültigen Future-Instanz aufgerufen, liegt die Verletzung FutureInvalidViolation vor [SWS_CORE_06237]. Sofern die Fortsetzung eine Exception wirft, führt dies zur Verletzung FutureContinuationHasThrownViolation [SWS_CORE_06237]. Exceptions dürfen die Fortsetzung nicht verlassen, sondern müssen bei Bedarf in Fehlerwerte übersetzt und innerhalb eines Result oder Future zurückgegeben werden [SWS_CORE_06237]. Die Funktion ergänzt die executorlose Variante [SWS_CORE_06231] und bildet das Gegenstück zu den wertbehafteten Überladungen [SWS_CORE_00331] sowie [SWS_CORE_00337].

Dieser Nutzungshinweis wurde von einer KI erstellt und basiert auf der AUTOSAR-Spezifikation R25-11.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future< void, E >
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid (valid returns 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 the Callable 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_06237
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06237@rel:R25-11#e3918940
Content hash
e3918940
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06237
Status: valid/unmigrated Version: rel:R25-11#58e4cf50 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_06237@rel:R25-11#58e4cf50
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#e39189402026-09-30
  • R20-11rel:R20-11#5e1b7f5b2026-10-14
  • R21-11rel:R21-11#1e3cbb002026-10-14
  • R22-11rel:R22-11#e2d3ef1a2026-10-14
  • R23-11rel:R23-11#8b2f870e2026-10-14
  • R24-11rel:R24-11#27088c392026-10-14
  • R25-11rel:R25-11#58e4cf502026-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

function valid [SWS_CORE_06227] 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 480112e5c811 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion valid() prüft synchron, ob die Instanz von ara::core::Future<void, E> einen gemeinsamen Zustand (Shared State) besitzt und damit verwendbar ist [SWS_CORE_06227]. Sie verhält sich gemäß Spezifikation analog zur entsprechenden Funktion aus std::future [SWS_CORE_06227]. Als Rückgabewert liefert sie true, wenn das Future nutzbar ist, und false, wenn es nicht nutzbar ist [SWS_CORE_06227].

Hinsichtlich der Nebenläufigkeit und Fehlerbehandlung ist die Methode als noexcept deklariert, ausnahmesicher (exception safe) und ausdrücklich als thread-sicher (thread-safe) spezifiziert [SWS_CORE_06227]. Sie kann somit sicher aus nebenläufigen Kontexten aufgerufen werden.

Im Zusammenspiel mit anderen Operationen dient valid() zur Absicherung des Lebenszyklus:

  • Wird auf einem ungültigen Future-Objekt (valid() == false) eine Operation wie wait() [SWS_CORE_06228] oder is_ready() [SWS_CORE_00332] aufgerufen, löst dies die Verletzung FutureInvalidViolation aus.
  • Konsumierende Operationen invalidieren das Objekt: Nach einem Aufruf von get() ist das Future nicht mehr gültig, sodass nachfolgende Prüfungen mit valid() den Wert false ergeben [SWS_CORE_06226].
  • Ebenso führen Weiterleitungen über then() [SWS_CORE_00331] oder Aufrufe von GetResult() [SWS_CORE_00336] dazu, dass das ursprüngliche Future-Objekt unmittelbar invalidiert wird.

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future< void, E >
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_06227
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06227@rel:R25-11#28542091
Content hash
28542091
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06227
Status: valid/unmigrated Version: rel:R25-11#d38a60b4 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_06227@rel:R25-11#d38a60b4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#285420912026-09-30
  • R19-11rel:R19-11#2199fb4c2026-10-14
  • R20-11rel:R20-11#7a68b03e2026-10-14
  • R21-11rel:R21-11#a46ad2562026-10-14
  • R22-11rel:R22-11#6bc04f322026-10-14
  • R23-11rel:R23-11#bd2577342026-10-14
  • R24-11rel:R24-11#2f9de2d02026-10-14
  • R25-11rel:R25-11#d38a60b42026-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

function wait [SWS_CORE_06228] 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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 2f9ee5ecd1d4 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Elementfunktion wait der Spezialisierung ara::core::Future<void, E> blockiert den aufrufenden Thread synchron, bis das Ergebnis der asynchronen Operation in Form eines Werts oder eines Fehlers verfügbar ist [SWS_CORE_06228]. Die Funktion nimmt keine Parameter entgegen, liefert keinen Rückgabewert (void) und verhält sich spezifikationsgemäß wie die entsprechende Funktion von std::future [SWS_CORE_06228].

Hinsichtlich Fehlerbehandlung und Randbedingungen gelten folgende Vorgaben:

  • Ausnahmesicherheit und Fehlerbehandlung: Die Operation ist mit noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_CORE_06228]. Liefert valid() für die Future-Instanz false, liegt die Verletzung FutureInvalidViolation vor [SWS_CORE_06228]. Die konkrete Folge dieser Verletzung dürfte als systemspezifische Fehlerbehandlung der AUTOSAR-Laufzeitumgebung realisiert sein. Frage Q-469e9abc947b9869 (offen)
  • Nebenläufigkeit: Die Funktion ist als nicht threadsicher (not thread-safe) eingestuft [SWS_CORE_06228]. Ein nebenläufiger Zugriff auf dasselbe Future-Objekt ohne externe Synchronisation ist daher unzulässig.

Im Zusammenspiel mit den weiteren Funktionen des Moduls core bestehen folgende Möglichkeiten:

  • Mit der threadsicheren Methode is_ready kann vorab abgefragt werden, ob die Operation abgeschlossen ist; bei Rückgabe von true blockiert wait garantiert nicht mehr [SWS_CORE_06232].
  • Zur Vermeidung endlosen Blockierens stehen die zeitbegrenzten Funktionen wait_for mit einer relativen Dauer [SWS_CORE_06229] sowie wait_until mit einem absoluten Zeitpunkt [SWS_CORE_06230] bereit.
  • Für die primäre Template-Klasse ara::core::Future gelten die gleichen synchronen Wartevorgaben und Einschränkungen [SWS_CORE_00328].

Dieser Text wurde durch ein KI-System kuratiert und stützt sich ausschließlich auf die AUTOSAR-Spezifikation.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future< void, E >
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid (valid returns 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_06228
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06228@rel:R25-11#a06c2ef5
Content hash
a06c2ef5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06228
Status: valid/unmigrated Version: rel:R25-11#24670f02 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_06228@rel:R25-11#24670f02
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#a06c2ef52026-09-30
  • R19-11rel:R19-11#4b7a7a422026-10-14
  • R20-11rel:R20-11#457c63ae2026-10-14
  • R21-11rel:R21-11#6b136de32026-10-14
  • R22-11rel:R22-11#3d7c381b2026-10-14
  • R23-11rel:R23-11#d02a0b222026-10-14
  • R24-11rel:R24-11#a383ce752026-10-14
  • R25-11rel:R25-11#24670f022026-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

function wait_for [SWS_CORE_06229] Upstream: RS_AP_00130

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

Wait for the given period, or until a value or an error is available. This function shall behave the same as the corresponding std::future function

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 927a98d78cf3 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode wait_for der Spezialisierung ara::core::Future<void, E> blockiert den aufrufenden Thread synchron für eine maximale Zeitspanne timeoutDuration oder bis das Ergebnis bereitsteht [SWS_CORE_06229]. Sie verhält sich semantisch wie die korrespondierende Standardfunktion std::future::wait_for [SWS_CORE_06229].

Als Rückgabewert liefert die Funktion den Status FutureStatus [SWS_CORE_06229]. Dieser signalisiert mit FutureStatus::kReady, dass ein Wert oder ein Fehler verfügbar ist, beziehungsweise mit FutureStatus::kTimeout, dass die Frist ohne Ergebnis abgelaufen ist [SWS_CORE_00361]. Ein zu std::future_status::deferred äquivalenter Zustand ist nicht vorgesehen [SWS_CORE_00361]. Das Verhalten entspricht der allgemeinen Future-Schnittstelle [SWS_CORE_00329].

Für den Aufruf gelten folgende Bedingungen bezüglich Nebenläufigkeit und Fehlerbehandlung:

  • Nebenläufigkeit: Die Funktion ist als nicht threadsicher (not thread-safe) spezifiziert [SWS_CORE_06229]. Gleichzeitige Aufrufe auf derselben Instanz müssen aufruferseitig abgesichert werden.
  • Fehlerfälle und Ausnahmesicherheit: Die Operation ist als ausnahmesicher (exception safe) sowie noexcept deklariert [SWS_CORE_06229]. Ist das Future-Objekt ungültig (valid() liefert false), liegt eine FutureInvalidViolation vor [SWS_CORE_06229]. Wegen der noexcept-Deklaration dürfte diese Verletzung vermutlich zum sofortigen Programmabbruch führen. Frage Q-4f01aa6e7fbfb12d (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR Adaptive R25-11 erstellt.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future< void, E >
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid (valid returns false) lation

Parameter (in)

ParameterBeschreibung
timeoutDurationmaximal duration to wait for

Rückgabewert

TypBeschreibung
FutureStatusstatus that indicates whether the timeout hit 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_06229
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06229@rel:R25-11#414f595f
Content hash
414f595f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06229
Status: valid/unmigrated Version: rel:R25-11#cde767bb 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_06229@rel:R25-11#cde767bb
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#414f595f2026-09-30
  • R19-11rel:R19-11#8d512e042026-10-14
  • R20-11rel:R20-11#f89ce5282026-10-14
  • R21-11rel:R21-11#f89ce5282026-10-14
  • R22-11rel:R22-11#68d81b0f2026-10-14
  • R23-11rel:R23-11#534174642026-10-14
  • R24-11rel:R24-11#38872d6e2026-10-14
  • R25-11rel:R25-11#cde767bb2026-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

function wait_until [SWS_CORE_06230] 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 given time, or until a value or an error is available. This function shall behave the same as the corresponding std::future function.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 932b0d674f17 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Elementfunktion wait_until der Spezialisierung ara::core::Future<void, E> blockiert den aufrufenden Thread, bis der angegebene absolute Zeitpunkt deadline erreicht ist oder ein Wert beziehungsweise ein Fehler zur Verfügung steht [SWS_CORE_06230]. Die Funktion zeigt dasselbe Verhalten wie die korrespondierende C++-Standardfunktion std::future::wait_until [SWS_CORE_06230] und besitzt die gleiche Semantik wie die generische Überladung für ara::core::Future [SWS_CORE_00330].

Der Rückgabewert vom Typ FutureStatus signalisiert, ob die Frist erreicht wurde oder ein Wert verfügbar ist [SWS_CORE_06230]. Hierbei zeigt der Zustand kReady an, dass der geteilte Status bereit ist, während kTimeout bedeutet, dass der geteilte Status vor Ablauf der Frist nicht bereit wurde [SWS_CORE_00361]. Ein Zustand analog zu std::future_status::deferred existiert in FutureStatus nicht [SWS_CORE_00361].

Hinsichtlich Ausführung und Randbedingungen sind folgende Vorgaben definiert:

  • Aufrufkontext und Ausnahmeverhalten: Die Funktion ist über die Header-Datei #include "ara/core/future.h" verfügbar, als noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_CORE_06230].
  • Fehlerzustände: Ist das Future ungültig, wenn also valid() den Wert false zurückgibt, liegt die Verletzung FutureInvalidViolation vor [SWS_CORE_06230].
  • Nebenläufigkeit: Die Operation ist als nicht threadsicher (not thread-safe) eingestuft [SWS_CORE_06230].

Dieser Verwendungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Future< void, E >
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)FutureInvalidVio- If the Future is invalid (valid returns false) lation

Parameter (in)

ParameterBeschreibung
deadlinelatest point in time to wait

Rückgabewert

TypBeschreibung
FutureStatusstatus that indicates whether the time 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_06230
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06230@rel:R25-11#eec83ed8
Content hash
eec83ed8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06230
Status: valid/unmigrated Version: rel:R25-11#f458c628 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_06230@rel:R25-11#f458c628
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#eec83ed82026-09-30
  • R19-11rel:R19-11#73333c762026-10-14
  • R20-11rel:R20-11#291da1182026-10-14
  • R21-11rel:R21-11#cb6c719b2026-10-14
  • R22-11rel:R22-11#31de44c72026-10-14
  • R23-11rel:R23-11#944875602026-10-14
  • R24-11rel:R24-11#85fe57402026-10-14
  • R25-11rel:R25-11#f458c6282026-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

function ~Future [SWS_CORE_06233] 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< void, E >
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

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

Record
AUTOSAR/AP/record/SWS_CORE_06233
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_06233@rel:R25-11#32a6e0a4
Content hash
32a6e0a4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_06233
Status: valid/unmigrated Version: rel:R25-11#7ce4899e 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_06233@rel:R25-11#7ce4899e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#32a6e0a42026-09-30
  • R19-11rel:R19-11#e8e5d2942026-10-14
  • R20-11rel:R20-11#feb4e8682026-10-14
  • R21-11rel:R21-11#a081de932026-10-14
  • R22-11rel:R22-11#40dcc5802026-10-14
  • R23-11rel:R23-11#8b89d85f2026-10-14
  • R24-11rel:R24-11#25b460852026-10-14
  • R25-11rel:R25-11#7ce4899e2026-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