DEENESPTFRRUARHIKOZHNL

class ara::core::Promise

[SWS_CORE_00340] Upstream: RS_AP_00130

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

ara::core specific variant of std::promise class 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

Stellt einen asynchronen Kanal bereit, um Werte oder Fehler threadübergreifend an ein assoziiertes Future zu übergeben.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5c323bf911df Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Stellt einen asynchronen Kanal bereit, um Werte oder Fehler threadübergreifend an ein assoziiertes Future zu übergeben.

Die Klasse ara::core::Promise fungiert als asynchroner Schreib-Endpunkt, um Werte, Fehler oder Resultate threadübergreifend in einen gemeinsamen Zustand zu übertragen [SWS_CORE_00341]. Der lesende Zugriff erfolgt über ein genau einmalig abrufbares Future, welches bei Bereitstellung des Ergebnisses freigegeben wird [SWS_CORE_00344]. Da die Klasse nicht kopierbar ist, verbleibt der Zustand über Move-Semantik strikt in eindeutigem Besitz, wobei ein mehrfaches Setzen des Ergebnisses oder mehrfaches Abrufen des Futures zu standardisierten Verletzungen führt.

Kontext

Die Klasse ara::core::Promise repräsentiert die Adaptive-Platform-spezifische Ausprägung des aus dem C++-Standard bekannten Konzepts std::promise. Sie ist im Header ara/core/future.h als Template Promise<T, E = ErrorCode> definiert und dient als asynchroner Schreib-Endpunkt eines gemeinsamen Zustands (shared state). Über diesen Kanal übergibt ein Erzeuger threadübergreifend entweder einen berechneten Ausgabewert, einen Fehler oder ein aggregiertes ara::core::Result. Die zugehörige Empfängerseite greift über ein assoziiertes ara::core::Future auf das Resultat zu, welches über die Instanzmethode get_future abgerufen wird [SWS_CORE_00344]. Im Unterschied zum Standard-C++-Mechanismus, der primär auf Ausnahmen basiert, verankert AUTOSAR Adaptive das fehlertypisierte Paradigma: Sofern der Fehlertyp E ungleich ara::core::ErrorCode gewählt wird, erzwingt die Spezifikation einen Übersetzungsfehler.

Lebenszyklus

Eine Instanz wird regulär über den parameterlosen Standardkonstruktor erzeugt, der sich wie der korrespondierende Konstruktor von std::promise verhält, threadsicher ist und einen neuen gemeinsamen Zustand etabliert [SWS_CORE_00341]. Um eindeutige Besitzverhältnisse an diesem Zustand zu garantieren, sind Kopiervorgänge vollständig untersagt: Sowohl der Kopierkonstruktor [SWS_CORE_00350] als auch der Kopierzuweisungsoperator [SWS_CORE_00351] sind als gelöscht (delete) deklariert.

Die Klasse unterstützt jedoch Verschiebesemantik (Move). Der Move-Konstruktor übernimmt den gemeinsamen Zustand der Quellinstanz [SWS_CORE_00342]. Bei einer Move-Zuweisung gibt die Zielinstanz ihren bisherigen gemeinsamen Zustand auf und übernimmt den Zustand des übergebenen Objekts analog zu einem Vertauschungsvorgang [SWS_CORE_00343]. Zusätzlich ermöglicht die Methode swap das Tauschen des internen Zustands mit einer anderen Instanz [SWS_CORE_00352]. Beim Zerstören über den Destruktor wird ein noch gehaltener gemeinsamer Zustand freigegeben bzw. verlassen [SWS_CORE_00349]. Während der Standardkonstruktor threadsicher ausgelegt ist [SWS_CORE_00341], sind Move-Operationen, Zuweisungen, Swap und Zerstörung nicht threadsicher ([SWS_CORE_00342], [SWS_CORE_00343], [SWS_CORE_00352], [SWS_CORE_00349]).

PromiseStates Init Created SharedStateInitialisiert Init->Created Promise() FutureRetrieved FutureAbgerufen Created->FutureRetrieved get_future() Ready SharedStateReady Created->Ready set_value() / SetError() / SetResult() NoState KeinSharedState Created->NoState Move / operator= Destroyed Beendet Created->Destroyed ~Promise() FutureRetrieved->Ready set_value() / SetError() / SetResult() FutureRetrieved->NoState Move / operator= FutureRetrieved->Destroyed ~Promise() Ready->NoState Move / operator= Ready->Destroyed ~Promise() NoState->Destroyed ~Promise()

Zustandsdiagramm: Lebenszyklus und Zustandsübergänge des gemeinsamen Zustands in einer Promise-Instanz. Quellen: [SWS_CORE_00341], [SWS_CORE_00342], [SWS_CORE_00343], [SWS_CORE_00344], [SWS_CORE_00345], [SWS_CORE_00349], [SWS_CORE_00353], [SWS_CORE_00355]

Nutzungspfad

Ein typischer Bereitstellungsablauf umfasst folgende Schritte:

  1. Erzeugung: Der Erzeuger instantiiert ein ara::core::Promise<T, E> [SWS_CORE_00341].
  2. Future abrufen: Vor dem Start der asynchronen Verarbeitung ruft der Erzeuger get_future() auf [SWS_CORE_00344]. Da pro Promise nur ein einziges assoziiertes Future zulässig ist, darf dieser Aufruf exakt einmalig erfolgen. Das zurückgegebene Future wird dem konsumierenden Thread übergeben.
  3. Ergebnis setzen: Nach Abschluss der asynchronen Operation überführt der Erzeuger das Resultat in den gemeinsamen Zustand und versetzt diesen in den Zustand ready. Hierfür stehen jeweils threadsichere Überladungen für Kopier- und Verschiebeoperationen bereit:
Asynchrone Bereitstellung über Promise und FutureErzeugerPromiseSharedStateFutureVerbraucherPromise()Erzeuge Shared Stateget_future()Erzeuge Future mit Shared StateÜbergabe FuturealtErfolgsfall: Wert bereitstellenset_value(value)Speichere Wert, setze Zustand readyFehlerfall: Fehler meldenSetError(error)Speichere Error, setze Zustand readyResult-Fall: Resultat setzenSetResult(result)Speichere Result, setze Zustand readyErgebnis abfragenLese Zustand

Sequenzdiagramm: Aufruf- und Synchronisationsabfolge zwischen Erzeuger, Promise, Shared State und Verbraucher. Quellen: [SWS_CORE_00341], [SWS_CORE_00344], [SWS_CORE_00345], [SWS_CORE_00353], [SWS_CORE_00355]

Fehlerszenarien

Die Spezifikation definiert strenge Vorbedingungen für alle Interaktionen mit dem gemeinsamen Zustand, deren Nichtbeachtung zu standardisierten Verletzungen (Violations) führt:

  • Mehrfachabruf des Futures: Wird get_future() mehr als einmal für denselben gemeinsamen Zustand aufgerufen, tritt die Verletzung IsoStdFutureErrcFutureAlreadyRetrievedViolation auf [SWS_CORE_00344].
  • Fehlender Shared State: Besitzt die aufgerufene Instanz keinen gemeinsamen Zustand – beispielsweise nach Durchführung einer Move-Operation –, führt get_future() zu IsoStdFutureErrcNoStateViolation [SWS_CORE_00344]. Die Methoden set_value, SetError und SetResult lösen in diesem Fall die Verletzung PromiseNoSharedStateToSetViolation aus ([SWS_CORE_00345], [SWS_CORE_00353], [SWS_CORE_00355]).
  • Bereits erfüllter Zustand: Wurde der gemeinsame Zustand bereits mit einem Wert, Fehler oder Resultat belegt, führt jeder erneute Aufruf von set_value ([SWS_CORE_00345], [SWS_CORE_00346]), SetError ([SWS_CORE_00353], [SWS_CORE_00354]) oder SetResult ([SWS_CORE_00355], [SWS_CORE_00356]) zur Verletzung IsoStdFutureErrcPromiseAlreadySatisfiedViolation.
  • Ausnahmesicherheit: Die Methoden set_value, SetError und SetResult sind bedingt ausnahmesicher (conditionally exception safe). Sie werfen keine Ausnahmen, sofern die Konstruktoren der Typen T und E als nothrow deklariert sind ([SWS_CORE_00345], [SWS_CORE_00353], [SWS_CORE_00355]).

Interpretation: Das Aufgeben des gemeinsamen Zustands bei der Zerstörung der Instanz ohne vorherige Wertzuweisung ([SWS_CORE_00349]) dürfte analog zum C++-Standardverhalten von std::promise dazu führen, dass ein assoziiertes Future beim Leseversuch ein entsprechendes Fehlerereignis registriert. Frage Q-fd013bb17a591af9 (offen)

Dieser Leitfaden basiert ausschließlich auf den Spezifikationsanforderungen von AUTOSAR Adaptive (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__Promise131 Promise + Promise() + operator=() + ~Promise() + SetError() + SetResult() + get_future() + set_value() + swap()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Promise function 3

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

Überladungen Promise 3
Promise () noexcept; SWS_CORE_00341
Promise (Promise &&other) noexcept; SWS_CORE_00342
Promise (const Promise &)=delete; SWS_CORE_00350
~Promise function

Destructor for Promise objects Abandons any shared state.

~Promise () noexcept;

Methoden

get_future function

Return an associated Future with the same shared state as *this The returned Future is set as soon as this Promise receives the result, value, or an error. This fuction must only be called once as it is not allowed to have multiple Futures per Promise.

Future< T, E > get_future () noexcept;
set_value function 2

Copy a value into the shared state and make the shared state ready.

Überladungen set_value 2
void set_value (const T &value) noexcept(std::is_nothrow_copy_ constructible< T >::value); SWS_CORE_00345
void set_value (T &&value) noexcept(std::is_nothrow_move_ constructible< T >::value); SWS_CORE_00346
SetError function 2

Move an error into the shared state and make the shared state ready.

Überladungen SetError 2
void SetError (E &&error) noexcept(std::is_nothrow_move_constructible< E >::value); SWS_CORE_00353
void SetError (const E &error) noexcept(std::is_nothrow_copy_ constructible< E >::value); SWS_CORE_00354
SetResult function 2

Copy a Result into the shared state and make the shared state ready.

Überladungen SetResult 2
void SetResult (const Result< T, E > &result) noexcept(std::is_ nothrow_copy_constructible< T >::value &&std::is_nothrow_copy_ constructible< E >::value); SWS_CORE_00355
void SetResult (Result< T, E > &&result) noexcept(std::is_nothrow_ move_constructible< T >::value &&std::is_nothrow_move_constructible< E >::value); SWS_CORE_00356
swap function

Swap the contents of this instance with another one’s. This function shall behave the same as the corresponding std::promise function. ≙ std::promise

void swap (Promise &other) noexcept;

Operatoren

operator= function 2

Move assignment Abandons any shared state and then as if Promise(std::move(other)).swap(*this). ≙ std::move

Überladungen = 2
Promise & operator= (Promise &&other) noexcept; SWS_CORE_00343
Promise & operator= (const Promise &)=delete; SWS_CORE_00351

Dokumentation der Methoden

function Promise [SWS_CORE_00341] Upstream: RS_AP_00130

Promise () noexcept;

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

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
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_00341
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00341@rel:R25-11#0986205c
Content hash
0986205c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00341
Status: valid/unmigrated Version: rel:R25-11#ad8790dc 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_00341@rel:R25-11#ad8790dc
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0986205c2026-09-30
  • R19-11rel:R19-11#becb2d122026-10-14
  • R20-11rel:R20-11#530577522026-10-14
  • R21-11rel:R21-11#9a9686d12026-10-14
  • R22-11rel:R22-11#eece9f122026-10-14
  • R23-11rel:R23-11#68a9155a2026-10-14
  • R24-11rel:R24-11#7a7170b92026-10-14
  • R25-11rel:R25-11#ad8790dc2026-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 Promise [SWS_CORE_00342] Upstream: RS_AP_00130

Promise (Promise &&other) noexcept;

Move constructor This function shall behave the same as the corresponding std::promise function.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
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_00342
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00342@rel:R25-11#48f770fd
Content hash
48f770fd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00342
Status: valid/unmigrated Version: rel:R25-11#b87869d0 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_00342@rel:R25-11#b87869d0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#48f770fd2026-09-30
  • R19-11rel:R19-11#47337e4f2026-10-14
  • R20-11rel:R20-11#7c95444f2026-10-14
  • R21-11rel:R21-11#e06b8a592026-10-14
  • R22-11rel:R22-11#d1f4110b2026-10-14
  • R23-11rel:R23-11#6d1133f82026-10-14
  • R24-11rel:R24-11#afc2a3c62026-10-14
  • R25-11rel:R25-11#b87869d02026-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 Promise [SWS_CORE_00350] Upstream: RS_AP_00130

Promise (const Promise &)=delete;

Copy constructor shall be disabled.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00350
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00350@rel:R25-11#3a63a36d
Content hash
3a63a36d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00350
Status: valid/unmigrated Version: rel:R25-11#d2c392a4 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_00350@rel:R25-11#d2c392a4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#3a63a36d2026-09-30
  • R19-11rel:R19-11#e6d29cc42026-10-14
  • R20-11rel:R20-11#bd55f3592026-10-14
  • R21-11rel:R21-11#bd55f3592026-10-14
  • R22-11rel:R22-11#9f08870d2026-10-14
  • R23-11rel:R23-11#cd2c53b02026-10-14
  • R24-11rel:R24-11#d2c392a42026-10-14
  • R25-11rel:R25-11#d2c392a42026-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 SetError [SWS_CORE_00353] Upstream: RS_AP_00130

void SetError (E &&error) noexcept(std::is_nothrow_move_constructible< E >::value);

Move an error into the shared state and make the shared state ready.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)IsoStdFutureEr- If the shared state already has a stored value or error. rcPromiseAl- readySatisfiedVio- lation PromiseNoShared- If *this has no shared state. StateToSetViola- tion

Parameter (in)

ParameterBeschreibung
errorthe error to store

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CORE_00353
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00353@rel:R25-11#4d6aa634
Content hash
4d6aa634
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00353
Status: valid/unmigrated Version: rel:R25-11#bed318c8 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_00353@rel:R25-11#bed318c8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#4d6aa6342026-09-30
  • R19-11rel:R19-11#17d203aa2026-10-14
  • R20-11rel:R20-11#483431492026-10-14
  • R21-11rel:R21-11#d246c4f32026-10-14
  • R22-11rel:R22-11#4e87e6272026-10-14
  • R23-11rel:R23-11#8177c2a32026-10-14
  • R24-11rel:R24-11#3effc9532026-10-14
  • R25-11rel:R25-11#bed318c82026-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 SetError [SWS_CORE_00354] Upstream: RS_AP_00130

void SetError (const E &error) noexcept(std::is_nothrow_copy_ constructible< E >::value);

Copy an error into the shared state and make the shared state ready.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)IsoStdFutureEr- If the shared state already has a stored value or error. rcPromiseAl- readySatisfiedVio- lation PromiseNoShared- If *this has no shared state. StateToSetViola- tion

Parameter (in)

ParameterBeschreibung
errorthe error to store

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CORE_00354
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00354@rel:R25-11#4b69b7b2
Content hash
4b69b7b2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00354
Status: valid/unmigrated Version: rel:R25-11#865b7aca 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_00354@rel:R25-11#865b7aca
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#4b69b7b22026-09-30
  • R19-11rel:R19-11#08af04582026-10-14
  • R20-11rel:R20-11#66d90e1c2026-10-14
  • R21-11rel:R21-11#ef5dc7082026-10-14
  • R22-11rel:R22-11#826b4e3c2026-10-14
  • R23-11rel:R23-11#3767dc562026-10-14
  • R24-11rel:R24-11#a3d044712026-10-14
  • R25-11rel:R25-11#865b7aca2026-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 SetResult [SWS_CORE_00355] Upstream: RS_AP_00130

void SetResult (const Result< T, E > &result) noexcept(std::is_ nothrow_copy_constructible< T >::value &&std::is_nothrow_copy_ constructible< E >::value);

Copy a Result into the shared state and make the shared state ready.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)IsoStdFutureEr- If the shared state already has a stored value or error. rcPromiseAl- readySatisfiedVio- lation PromiseNoShared- If *this has no shared state. StateToSetViola- tion

Parameter (in)

ParameterBeschreibung
resultthe result to store

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CORE_00355
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00355@rel:R25-11#1c0f0839
Content hash
1c0f0839
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00355
Status: valid/unmigrated Version: rel:R25-11#eb823c26 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_00355@rel:R25-11#eb823c26
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#1c0f08392026-09-30
  • R20-11rel:R20-11#4c6f52702026-10-14
  • R21-11rel:R21-11#4c6f52702026-10-14
  • R22-11rel:R22-11#58e0871d2026-10-14
  • R23-11rel:R23-11#0c1607a72026-10-14
  • R24-11rel:R24-11#0b83bc582026-10-14
  • R25-11rel:R25-11#eb823c262026-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 SetResult [SWS_CORE_00356] Upstream: RS_AP_00130

void SetResult (Result< T, E > &&result) noexcept(std::is_nothrow_ move_constructible< T >::value &&std::is_nothrow_move_constructible< E >::value);

Move a Result into the shared state and make the shared state ready.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)IsoStdFutureEr- If the shared state already has a stored value or error. rcPromiseAl- readySatisfiedVio- lation PromiseNoShared- If *this has no shared state. StateToSetViola- tion

Parameter (in)

ParameterBeschreibung
resultthe result to store

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CORE_00356
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00356@rel:R25-11#cae957a9
Content hash
cae957a9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00356
Status: valid/unmigrated Version: rel:R25-11#445f8c93 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_00356@rel:R25-11#445f8c93
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#cae957a92026-09-30
  • R20-11rel:R20-11#558a00112026-10-14
  • R21-11rel:R21-11#558a00112026-10-14
  • R22-11rel:R22-11#dbcdc7d52026-10-14
  • R23-11rel:R23-11#9e711ec62026-10-14
  • R24-11rel:R24-11#0194828a2026-10-14
  • R25-11rel:R25-11#445f8c932026-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_future [SWS_CORE_00344] Upstream: RS_AP_00130

Future< T, E > get_future () noexcept;

Return an associated Future with the same shared state as *this The returned Future is set as soon as this Promise receives the result, value, or an error. This fuction must only be called once as it is not allowed to have multiple Futures per Promise.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)IsoStdFutureErrc- If the function is called more than once on the same shared FutureAlreadyRe- state. trievedViolation IsoStdFutureErrc- If *this has no shared state. NoStateViolation

Rückgabewert

TypBeschreibung
Future< T, E >a Future with the same shared state as *this

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_00344
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00344@rel:R25-11#f0a82951
Content hash
f0a82951
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00344
Status: valid/unmigrated Version: rel:R25-11#9636ce04 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_00344@rel:R25-11#9636ce04
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f0a829512026-09-30
  • R19-11rel:R19-11#e89e1ade2026-10-14
  • R20-11rel:R20-11#4b3f3d5b2026-10-14
  • R21-11rel:R21-11#dc390e3a2026-10-14
  • R22-11rel:R22-11#d25873012026-10-14
  • R23-11rel:R23-11#616361012026-10-14
  • R24-11rel:R24-11#59190fca2026-10-14
  • R25-11rel:R25-11#9636ce042026-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_00343] Upstream: RS_AP_00130

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

Move assignment Abandons any shared state and then as if Promise(std::move(other)).swap(*this).

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

Parameter (in)

ParameterBeschreibung
otherthe other instance

Rückgabewert

TypBeschreibung
Promise &*this

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

Record
AUTOSAR/AP/record/SWS_CORE_00343
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00343@rel:R25-11#2c46856d
Content hash
2c46856d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00343
Status: valid/unmigrated Version: rel:R25-11#65fdcb27 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_00343@rel:R25-11#65fdcb27
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2c46856d2026-09-30
  • R19-11rel:R19-11#dc654ee02026-10-14
  • R20-11rel:R20-11#f1806e3b2026-10-14
  • R21-11rel:R21-11#34acef442026-10-14
  • R22-11rel:R22-11#407a30d82026-10-14
  • R23-11rel:R23-11#10c10b722026-10-14
  • R24-11rel:R24-11#15d095072026-10-14
  • R25-11rel:R25-11#65fdcb272026-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_00351] Upstream: RS_AP_00130

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

Copy assignment operator shall be disabled.

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00351
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00351@rel:R25-11#9b9068f4
Content hash
9b9068f4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00351
Status: valid/unmigrated Version: rel:R25-11#c5df3082 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_00351@rel:R25-11#c5df3082
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9b9068f42026-09-30
  • R19-11rel:R19-11#6c16087a2026-10-14
  • R20-11rel:R20-11#02e45f892026-10-14
  • R21-11rel:R21-11#02e45f892026-10-14
  • R22-11rel:R22-11#8a967fd52026-10-14
  • R23-11rel:R23-11#b412d2772026-10-14
  • R24-11rel:R24-11#c5df30822026-10-14
  • R25-11rel:R25-11#c5df30822026-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 set_value [SWS_CORE_00345] Upstream: RS_AP_00130

void set_value (const T &value) noexcept(std::is_nothrow_copy_ constructible< T >::value);

Copy a value into the shared state and make the shared state ready.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)IsoStdFutureEr- If the shared state already has a stored value or error. rcPromiseAl- readySatisfiedVio- lation PromiseNoShared- If *this has no shared state. StateToSetViola- tion

Parameter (in)

ParameterBeschreibung
valuethe value to store

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CORE_00345
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00345@rel:R25-11#f9783a29
Content hash
f9783a29
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00345
Status: valid/unmigrated Version: rel:R25-11#6b282783 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_00345@rel:R25-11#6b282783
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f9783a292026-09-30
  • R19-11rel:R19-11#2c0ddcac2026-10-14
  • R20-11rel:R20-11#1095e01c2026-10-14
  • R21-11rel:R21-11#1095e01c2026-10-14
  • R22-11rel:R22-11#94a66b6c2026-10-14
  • R23-11rel:R23-11#49bb9caf2026-10-14
  • R24-11rel:R24-11#3a34547c2026-10-14
  • R25-11rel:R25-11#6b2827832026-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 set_value [SWS_CORE_00346] Upstream: RS_AP_00130

void set_value (T &&value) noexcept(std::is_nothrow_move_ constructible< T >::value);

Move a value into the shared state and make the shared state ready.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
Exception-Sicherheitconditionally exception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)IsoStdFutureEr- If the shared state already has a stored value or error. rcPromiseAl- readySatisfiedVio- lation PromiseNoShared- If *this has no shared state. StateToSetViola- tion

Parameter (in)

ParameterBeschreibung
valuethe value to store

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CORE_00346
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00346@rel:R25-11#8b29c204
Content hash
8b29c204
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00346
Status: valid/unmigrated Version: rel:R25-11#56056ba3 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_00346@rel:R25-11#56056ba3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8b29c2042026-09-30
  • R19-11rel:R19-11#d1c271cd2026-10-14
  • R20-11rel:R20-11#2c1231622026-10-14
  • R21-11rel:R21-11#2c1231622026-10-14
  • R22-11rel:R22-11#6be6444f2026-10-14
  • R23-11rel:R23-11#7f5cd43e2026-10-14
  • R24-11rel:R24-11#cc28bc5f2026-10-14
  • R25-11rel:R25-11#56056ba32026-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 swap [SWS_CORE_00352] Upstream: RS_AP_00130

void swap (Promise &other) noexcept;

Swap the contents of this instance with another one’s. This function shall behave the same as the corresponding std::promise function.

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

Parameter (in/out)

ParameterBeschreibung
otherthe other instance

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CORE_00352
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00352@rel:R25-11#f1518486
Content hash
f1518486
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00352
Status: valid/unmigrated Version: rel:R25-11#34c2a151 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_00352@rel:R25-11#34c2a151
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f15184862026-09-30
  • R19-11rel:R19-11#04fbb8542026-10-14
  • R20-11rel:R20-11#b552e9282026-10-14
  • R21-11rel:R21-11#b552e9282026-10-14
  • R22-11rel:R22-11#1e062be72026-10-14
  • R23-11rel:R23-11#9c97ab662026-10-14
  • R24-11rel:R24-11#4aff210a2026-10-14
  • R25-11rel:R25-11#34c2a1512026-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 ~Promise [SWS_CORE_00349] Upstream: RS_AP_00130

~Promise () noexcept;

Destructor for Promise objects Abandons any shared state.

Header-Datei#include "ara/core/future.h"
Scopeclass ara::core::Promise
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_00349
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00349@rel:R25-11#17040834
Content hash
17040834
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00349
Status: valid/unmigrated Version: rel:R25-11#d3ab1bdc 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_00349@rel:R25-11#d3ab1bdc
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#170408342026-09-30
  • R19-11rel:R19-11#d48e92272026-10-14
  • R20-11rel:R20-11#f8e702f92026-10-14
  • R21-11rel:R21-11#536b31e32026-10-14
  • R22-11rel:R22-11#0e8726472026-10-14
  • R23-11rel:R23-11#9b91cb7e2026-10-14
  • R24-11rel:R24-11#cea546db2026-10-14
  • R25-11rel:R25-11#d3ab1bdc2026-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