DEENESPTFRRUARHIKOZHNL

classe ara::core::Future

[SWS_CORE_00321] Upstream: RS_AP_00130

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

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

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

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

Guide utilisateurGÉNÉRÉ PAR IA

Permet la réception synchrone ou asynchrone de valeurs et d’erreurs issues d’une opération concurrente.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : fbd974cb6be2 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet la réception synchrone ou asynchrone de valeurs et d’erreurs issues d’une opération concurrente.

La classe ara::core::Future sert de descripteur récepteur pour le résultat d’une opération asynchrone et gère l’accès à un état partagé [SWS_CORE_00327]. Les consommateurs peuvent vérifier l’état de manière non bloquante, attendre la complétion de façon synchrone ou recevoir le résultat sans exception sous la forme d’un ara::core::Result via GetResult() [SWS_CORE_00336]. Les opérations de copie étant supprimées, la propriété est gérée de manière exclusive, et l’objet devient immédiatement invalide après la récupération du résultat ou sa transmission au moyen d’une continuation.

Contexte

La classe modèle ara::core::Future représente l’élément terminal récepteur pour les résultats d’opérations asynchrones au sein de l’AUTOSAR Adaptive Platform. Elle permet l’accès contrôlé à un état partagé (Shared State), alimenté de manière asynchrone par une instance productrice [SWS_CORE_00327]. Conceptuellement, la classe implémente std::future du standard C++17 ISO/IEC 14882:2017 [11], mais s’intègre de façon transparente dans le concept basé sur les erreurs et exceptions de la plateforme : pour le paramètre de modèle E, le type d’erreur ara::core::ErrorCode est obligatoirement prescrit ; toute spécification divergente entraîne une erreur de compilation. Parmi les partenaires d’interaction principaux figurent le producteur asynchrone (tel qu’une promesse associée), qui fournit la valeur ou l’erreur, l’instance Future en tant que récepteur exclusif, ainsi qu’un consommateur ou contexte d’exécution (ExecutorT), auquel des tâches subséquentes sont transmises [SWS_CORE_00331] [SWS_CORE_00337].

Cycle de vie

La création, la gestion d’état et la destruction de ara::core::Future sont soumises à des règles strictes afin de garantir des relations de possession déterministes :

future_lifecycle Invalid Ungueltig (valid() == false) ValidPending Gueltig / Ausstehend (valid() == true, is_ready() == false) Invalid->ValidPending Move-Zuweisung / Erhalt ValidPending->Invalid Destruktor / then() ValidReady Gueltig / Bereit (valid() == true, is_ready() == true) ValidPending->ValidReady Promise définit la valeur ou l'erreur ValidReady->Invalid GetResult() / get() / then()

Diagramme d’états : cycle de vie et transitions d’état d’une instance Future concernant la validité et la disponibilité du Shared State. Sources : [SWS_CORE_00322], [SWS_CORE_00326], [SWS_CORE_00327], [SWS_CORE_00331], [SWS_CORE_00332], [SWS_CORE_00333], [SWS_CORE_00336]

Parcours d'utilisation

Un chemin d’utilisation typique pour le traitement des résultats se divise selon les phases suivantes :

  1. Vérification d’état et synchronisation : is_ready() permet de déterminer au préalable si le résultat asynchrone est déjà disponible [SWS_CORE_00332]. Si tel est le cas, les interrogations ultérieures sont garanties de ne plus bloquer [SWS_CORE_00332]. Sinon, la synchronisation peut être effectuée de manière illimitée avec wait() [SWS_CORE_00328] ou limitée dans le temps via wait_for() ou wait_until() [SWS_CORE_00329] [SWS_CORE_00330].
  2. Extraction du résultat : dans les applications AUTOSAR Adaptive, l’appel de GetResult() est déterminant : la méthode bloque si nécessaire, mais ne lève jamais d’exception et transmet la valeur ou l’erreur sous forme de ara::core::Result<T, E> par déplacement [SWS_CORE_00336]. La méthode get() offre la conformité STL, lève des exceptions C++ en cas d’erreur et ne participe pas à la résolution de surcharge lorsque la gestion des exceptions de la chaîne d’outils est désactivée [SWS_CORE_00326].
  3. Chaînage asynchrone (continuations) : au lieu d’un blocage synchrone, un rappel peut être enregistré via then(), éventuellement avec assignation à un contexte d’exécution (executor) [SWS_CORE_00331] [SWS_CORE_00337]. Le rappel reçoit le résultat sous forme de rvalue Result<T, E>. Si la fonction de continuation renvoie elle-même un Future ou Result, then() effectue un déballage automatique et renvoie directement un Future<T2, E2> correspondant [SWS_CORE_00331] [SWS_CORE_00337].
Déroulement asynchrone avec GetResult()AppelantFuturePromiseErzeugt Shared State & FutureUebergabe an KonsumentUse Case: Synchronisation et récupérationis_ready()falseSetResult(...) / SetError(...)GetResult()Shared State geleertvalid() == falseResult<T, E>

Diagramme de séquence : déroulement typique de la synchronisation asynchrone et de la récupération de résultat via GetResult(). Sources : [SWS_CORE_00327], [SWS_CORE_00332], [SWS_CORE_00336]

Scénarios d'erreur

Lors de l’utilisation de ara::core::Future, les situations d’erreur suivantes sont spécifiées :

  • Appel sur une instance invalide : l’appel de is_ready(), wait(), wait_for(), wait_until(), GetResult() ou then() sur une instance invalide (valid() == false) constitue une FutureInvalidViolation [SWS_CORE_00328] [SWS_CORE_00329] [SWS_CORE_00330] [SWS_CORE_00331] [SWS_CORE_00332] [SWS_CORE_00336] [SWS_CORE_00337]. Lors de l’appel de get(), une FutureException avec le code d’erreur kNoState est levée dans ce cas [SWS_CORE_00326].
  • Shared State abandonné (Broken Promise) : si le Shared State est abandonné prématurément par la promesse associée, GetResult() renvoie un Result avec le code d’erreur standardisé FutureErrc::kBrokenPromise [SWS_CORE_00336]. Lors de l’appel de get(), l’exception correspondante est déclenchée [SWS_CORE_00326].
  • Exceptions dans les fonctions de continuation : une continuation enregistrée ne doit lever aucune exception, sauf pour mettre en œuvre une violation. Si elle déclenche néanmoins une exception, cela conduit à une FutureContinuationHasThrownViolation [SWS_CORE_00331] [SWS_CORE_00337]. Les exceptions dans les fermetures doivent être interceptées et renvoyées sous forme d’un état d’erreur tel qu’un Result ou Future [SWS_CORE_00331] [SWS_CORE_00337].

Ce guide repose exclusivement sur les exigences de spécification d’AUTOSAR Adaptive Core (R25-11).

Carte des membres

Constructeurs et destructeur

2

Opérateurs

1

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

Future fonction 3

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

Surcharges Future 3
Future () noexcept=default; SWS_CORE_00322
Future (Future &&other) noexcept; SWS_CORE_00323
Future (const Future &)=delete; SWS_CORE_00334
~Future fonction

Destructor for Future objects. Abandons any shared state

~Future () noexcept;

Méthodes

get fonction

Get the value.

T get () noexcept(false);
GetResult fonction

Get the result.

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

Return whether the asynchronous operation has finished.

bool is_ready () const noexcept;
then fonction 2

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

Surcharges then 2
template <typename F> auto then (F &&func) noexcept -> Future< <see below> >; SWS_CORE_00331
template <typename F, typename ExecutorT> auto then (F &&func, ExecutorT &&executor) noexcept -> Future< <see below> >; SWS_CORE_00337
valid fonction

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

bool valid () const noexcept;
wait fonction

Wait for a value or an error to be available.

void wait () const noexcept;
wait_for fonction

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

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

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

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

Opérateurs

operator= fonction 2

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

Surcharges = 2
Future & operator= (Future &&other) noexcept; SWS_CORE_00325
Future & operator= (const Future &)=delete; SWS_CORE_00335

Documentation des méthodes

fonction Future [SWS_CORE_00322] Upstream: RS_AP_00130

Future () noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00322
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00322@rel:R25-11#c95ba18f
Content hash
c95ba18f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00322
Status: valid/unmigrated Version: rel:R25-11#869eb074 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00322@rel:R25-11#869eb074
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f20c46ff2026-09-30
  • R19-11rel:R19-11#dea6599e2026-10-14
  • R20-11rel:R20-11#40f0427d2026-10-14
  • R21-11rel:R21-11#40f0427d2026-10-14
  • R22-11rel:R22-11#3116da522026-10-14
  • R23-11rel:R23-11#42749bfd2026-10-14
  • R24-11rel:R24-11#27bc40832026-10-14
  • R25-11rel:R25-11#869eb0742026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Future [SWS_CORE_00323] Upstream: RS_AP_00130

Future (Future &&other) noexcept;

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

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

Parameter (in)

ParameterBeschreibung
otherthe other instance

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

Record
AUTOSAR/AP/record/SWS_CORE_00323
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00323@rel:R25-11#73b73d3f
Content hash
73b73d3f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00323
Status: valid/unmigrated Version: rel:R25-11#67bc21d5 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00323@rel:R25-11#67bc21d5
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#16df79b52026-09-30
  • R19-11rel:R19-11#8b1810862026-10-14
  • R20-11rel:R20-11#d2675b492026-10-14
  • R21-11rel:R21-11#9ce1ca602026-10-14
  • R22-11rel:R22-11#62a98b892026-10-14
  • R23-11rel:R23-11#d38da6892026-10-14
  • R24-11rel:R24-11#7f1618232026-10-14
  • R25-11rel:R25-11#67bc21d52026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Future [SWS_CORE_00334] Upstream: RS_AP_00130

Future (const Future &)=delete;

Copy constructor shall be disabled

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00334
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00334@rel:R25-11#73ba1ff8
Content hash
73ba1ff8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00334
Status: valid/unmigrated Version: rel:R25-11#1f07079c Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00334@rel:R25-11#1f07079c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#108bb8a72026-09-30
  • R19-11rel:R19-11#4a6d37412026-10-14
  • R20-11rel:R20-11#a10780802026-10-14
  • R21-11rel:R21-11#2f2e218f2026-10-14
  • R22-11rel:R22-11#2129f6a42026-10-14
  • R23-11rel:R23-11#ce09ab2b2026-10-14
  • R24-11rel:R24-11#7862d2022026-10-14
  • R25-11rel:R25-11#1f07079c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction GetResult [SWS_CORE_00336] Upstream: RS_AP_00130

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

Get the result.

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

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

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

Rückgabewert

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

Fehler

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00336
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00336@rel:R25-11#ae51c0eb
Content hash
ae51c0eb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00336
Status: valid/unmigrated Version: rel:R25-11#0af67485 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00336@rel:R25-11#0af67485
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7983aa762026-09-30
  • R19-11rel:R19-11#1ac6dc312026-10-14
  • R20-11rel:R20-11#652256322026-10-14
  • R21-11rel:R21-11#652256322026-10-14
  • R22-11rel:R22-11#8964f0202026-10-14
  • R23-11rel:R23-11#2380a90e2026-10-14
  • R24-11rel:R24-11#09c337922026-10-14
  • R25-11rel:R25-11#0af674852026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction get [SWS_CORE_00326] Upstream: RS_AP_00130

T get () noexcept(false);

Get the value.

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

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : bdf8e21a85ce Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode get() récupère de manière synchrone le résultat de type T depuis un ara::core::Future [SWS_CORE_00326]. La fonction se comporte de manière identique à son pendant dans std::future ; si le calcul asynchrone est toujours en cours, l'appel bloque jusqu'à l'achèvement ou jusqu'à l'apparition d'une erreur [SWS_CORE_00336]. Par cet appel, l'objet perd son état, de sorte que le future devient immédiatement invalide (valid() == false) [SWS_CORE_00326]. Un appel non bloquant peut être sécurisé au préalable via is_ready() [SWS_CORE_00332].

Gestion des erreurs

Les échecs sont signalés par des exceptions C++ [SWS_CORE_00326] :

  • Si une erreur a été consignée dans le Promise associé via SetError() ou SetResult(), une exception du type d'erreur correspondant est déclenchée [SWS_CORE_00326].
  • Si l'état partagé est abandonné prématurément par l'opération asynchrone, cela entraîne l'erreur kBrokenPromise conformément à FutureErrc [SWS_CORE_00326], [SWS_CORE_00400].
  • Si l'appel est effectué sur une instance invalide, une FutureException est levée avec le code d'erreur kNoState [SWS_CORE_00326].

Concurrence et restrictions

L'opération n'est ni thread-safe ni sûre vis-à-vis des exceptions (not exception safe) [SWS_CORE_00326]. Des accès simultanés au même future depuis plusieurs threads nécessitent une synchronisation externe. Si les exceptions sont désactivées dans la chaîne d'outils du compilateur, get() ne participe pas à la résolution de surcharge [SWS_CORE_00326] ; pour ce cas, il existe l'alternative sans exceptions GetResult() [SWS_CORE_00336]. Pour les instances sans valeur de retour, la spécialisation Future<void, E>::get() est disponible [SWS_CORE_06226].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Adaptive R25-11.

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

Rückgabewert

TypBeschreibung
Tvalue of type T

Exceptions

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

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00326
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00326@rel:R25-11#89bd5028
Content hash
89bd5028
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00326
Status: valid/unmigrated Version: rel:R25-11#86352c5a Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00326@rel:R25-11#86352c5a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#772635442026-09-30
  • R19-11rel:R19-11#bf2bb1bc2026-10-14
  • R20-11rel:R20-11#1b0259a32026-10-14
  • R21-11rel:R21-11#e72dc9d62026-10-14
  • R22-11rel:R22-11#5fce45d52026-10-14
  • R23-11rel:R23-11#2294bfde2026-10-14
  • R24-11rel:R24-11#83b80b3f2026-10-14
  • R25-11rel:R25-11#86352c5a2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction is_ready [SWS_CORE_00332] Upstream: RS_AP_00130

bool is_ready () const noexcept;

Return whether the asynchronous operation has finished.

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

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

Rückgabewert

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00332
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00332@rel:R25-11#8643b3ac
Content hash
8643b3ac
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00332
Status: valid/unmigrated Version: rel:R25-11#3a721122 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00332@rel:R25-11#3a721122
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7b5a5cd82026-09-30
  • R19-11rel:R19-11#1351fbd62026-10-14
  • R20-11rel:R20-11#29432cbf2026-10-14
  • R21-11rel:R21-11#5f5d2ce12026-10-14
  • R22-11rel:R22-11#5dc081682026-10-14
  • R23-11rel:R23-11#377e18d72026-10-14
  • R24-11rel:R24-11#3361542e2026-10-14
  • R25-11rel:R25-11#3a7211222026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction operator= [SWS_CORE_00325] Upstream: RS_AP_00130

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

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

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

Parameter (in)

ParameterBeschreibung
otherthe other instance

Rückgabewert

TypBeschreibung
Future &*this

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

Record
AUTOSAR/AP/record/SWS_CORE_00325
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00325@rel:R25-11#b3168ddd
Content hash
b3168ddd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00325
Status: valid/unmigrated Version: rel:R25-11#aaf376df Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00325@rel:R25-11#aaf376df
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#13e5b1852026-09-30
  • R19-11rel:R19-11#93353d342026-10-14
  • R20-11rel:R20-11#3bdb585e2026-10-14
  • R21-11rel:R21-11#a4d956ef2026-10-14
  • R22-11rel:R22-11#9c832db92026-10-14
  • R23-11rel:R23-11#c2dbc2b52026-10-14
  • R24-11rel:R24-11#5c0627a82026-10-14
  • R25-11rel:R25-11#aaf376df2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction operator= [SWS_CORE_00335] Upstream: RS_AP_00130

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

Copy assignment operator shall be disabled

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00335
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00335@rel:R25-11#34e87e96
Content hash
34e87e96
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00335
Status: valid/unmigrated Version: rel:R25-11#9bdef4fb Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00335@rel:R25-11#9bdef4fb
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b9b4dead2026-09-30
  • R19-11rel:R19-11#3780a25f2026-10-14
  • R20-11rel:R20-11#7f6cf9742026-10-14
  • R21-11rel:R21-11#7f6cf9742026-10-14
  • R22-11rel:R22-11#b8baf3702026-10-14
  • R23-11rel:R23-11#e09e21542026-10-14
  • R24-11rel:R24-11#bb38b8c92026-10-14
  • R25-11rel:R25-11#9bdef4fb2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction then [SWS_CORE_00331] Upstream: RS_AP_00130

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

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

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

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

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

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

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

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 771d2952e4cb Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre then sert à l'enchaînement de calculs asynchrones et enregistre un objet appelable func comme continuation sur une instance de ara::core::Future [SWS_CORE_00331]. Après le retour de l'appel, la Future d'origine est invalide (valid() == false). La cible d'appel reçoit le résultat de l'instance obtenu via GetResult(), transmis en tant que rvalue de type Result<T, E> [SWS_CORE_00331].

Le type de retour de then dépend du type de retour U de la continuation [SWS_CORE_00331] :

  • Si func renvoie une Future<T2, E2>, un désencapsulage implicite de future vers Future<T2, E2> a lieu [SWS_CORE_00331].
  • Si func renvoie un Result<T2, E2>, un désencapsulage implicite de Result vers Future<T2, E2> a lieu [SWS_CORE_00331].
  • Dans tous les autres cas, le type de retour est Future<U, E> [SWS_CORE_00331].

L'exécution de func peut avoir lieu de manière synchrone dans le contexte de l'appel de then, dans le contexte de Promise::set_result ou Promise::SetError, ou dans un autre contexte [SWS_CORE_00331]. L'appel est spécifié comme non thread-safe. La continuation est enregistrée dans la Future renvoyée ; après le retour de son destructeur, plus aucune continuation ne doit être exécutée, tandis qu'une exécution déjà en cours se poursuit jusqu'à la fin [SWS_CORE_00331].

Il n'existe pas de codes d'erreur standardisés [SWS_CORE_00331]. Les erreurs doivent être interceptées par les utilisateurs et transmises comme code d'erreur dans un Result renvoyé ou une Future renvoyée, car les exceptions ne doivent pas quitter la continuation. Un appel sur une Future invalide déclenche FutureInvalidViolation ; si la continuation lève une exception, cela entraîne FutureContinuationHasThrownViolation [SWS_CORE_00331].

Pour des exécutions dans un contexte d'exécution explicite, la surcharge avec executor est disponible [SWS_CORE_00337], tandis que pour les opérations sans valeur de retour, la spécialisation void s'applique [SWS_CORE_06231].

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.

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

Parameter (in)

ParameterBeschreibung
funca callable to register

Rückgabewert

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

Fehler

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00331
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00331@rel:R25-11#41f60bee
Content hash
41f60bee
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00331
Status: valid/unmigrated Version: rel:R25-11#7ccfcd36 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00331@rel:R25-11#7ccfcd36
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#07a6189e2026-09-30
  • R19-11rel:R19-11#ab04e9222026-10-14
  • R20-11rel:R20-11#99557d6e2026-10-14
  • R21-11rel:R21-11#3a933d6a2026-10-14
  • R22-11rel:R22-11#008dba362026-10-14
  • R23-11rel:R23-11#4907cfa12026-10-14
  • R24-11rel:R24-11#2eae23502026-10-14
  • R25-11rel:R25-11#7ccfcd362026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction then [SWS_CORE_00337] Upstream: RS_AP_00130

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

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b5ca6c97ece5 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La méthode then enregistre une continuation (func), qui est exécutée de manière asynchrone dans le contexte du executor transmis, dès que le résultat de l'instance Future actuelle est disponible [SWS_CORE_00337]. L'entité appelable reçoit le résultat de l'instance sous forme d'expression rvalue de type Result<T,E> [SWS_CORE_00337]. Le type de retour dépend du type de retour U de la continuation :

  • Si la continuation retourne un Future<T2,E2>, un déballage implicite en Future<T2,E2> a lieu [SWS_CORE_00337].
  • Si la continuation retourne un Result<T2,E2>, celui-ci est également résolu implicitement en Future<T2,E2> [SWS_CORE_00337].
  • Dans tous les autres cas, l'appel fournit Future<U,E> [SWS_CORE_00337].

Concurrence et cycle de vie

Immédiatement après le retour de l'appel de méthode, l'instance Future d'origine est invalide (valid() == false) [SWS_CORE_00337]. La fonction est déclarée comme non thread-safe [SWS_CORE_00337]. Les continuations enregistrées sont gérées dans le Future nouvellement retourné. À l'issue de son destructeur, plus aucune continuation ne doit être démarrée ; une exécution déjà en cours est menée à son terme, de sorte que le destructeur peut bloquer [SWS_CORE_00337].

Traitement des erreurs et interaction

Aucun code d'erreur standardisé n'est défini [SWS_CORE_00337]. Un appel sur une instance invalide déclenche la violation FutureInvalidViolation [SWS_CORE_00337]. Si la continuation lève une exception, cela résulte en une FutureContinuationHasThrownViolation ; les exceptions doivent donc être interceptées et transmises en tant qu'erreur via ara::core::Result ou ara::core::Future [SWS_CORE_00337]. Par rapport à la surcharge sans contexte d'exécution [SWS_CORE_00331], cette variante impose l'exécution sur l'exécuteur transmis ; pour les types de résultat void, la spécialisation analogue [SWS_CORE_06237] existe.

Cette note d'utilisation est basée sur la spécification AUTOSAR Adaptive R25-11.

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

Template-Parameter

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

Parameter (in)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CORE_00337
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00337@rel:R25-11#7be91c77
Content hash
7be91c77
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00337
Status: valid/unmigrated Version: rel:R25-11#749fe9dc Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00337@rel:R25-11#749fe9dc
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#1e610dd32026-09-30
  • R20-11rel:R20-11#12659cf92026-10-14
  • R21-11rel:R21-11#ecfba0d52026-10-14
  • R22-11rel:R22-11#d94fa7762026-10-14
  • R23-11rel:R23-11#8b664ec92026-10-14
  • R24-11rel:R24-11#853472252026-10-14
  • R25-11rel:R25-11#749fe9dc2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction valid [SWS_CORE_00327] Upstream: RS_AP_00130

bool valid () const noexcept;

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

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0fe78ab97a32 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction d’interrogation synchrone valid() vérifie sans paramètre si une instance de ara::core::Future possède un état partagé (Shared State) et est donc utilisable [SWS_CORE_00327]. Elle renvoie true si l’objet est prêt à l’emploi, et false si aucun état partagé n’est présent [SWS_CORE_00327]. Le comportement correspond à la fonction standard std::future::valid et s’applique de la même manière à la spécialisation de modèle ara::core::Future<void, E> [SWS_CORE_06227].

La fonction est déclarée comme noexcept, est considérée comme sûre vis-à-vis des exceptions (exception safe) et est expressément spécifiée comme sûre vis-à-vis des threads (thread-safe) [SWS_CORE_00327]. Elle ne déclenche elle-même aucun code d’erreur ni exception et peut donc être utilisée en toute sécurité pour vérifier l’état [SWS_CORE_00327].

Dans l’interaction avec d’autres méthodes de Future, le contrôle de validité est déterminant, car les opérations appelantes telles que wait() [SWS_CORE_00328] ou is_ready() [SWS_CORE_00332] déclenchent une FutureInvalidViolation en cas d’état non valide (valid() == false). Un Future auparavant valide devient automatiquement non valide dès que son résultat est consommé via get() [SWS_CORE_00326] ou GetResult() [SWS_CORE_00336] ou qu’un traitement ultérieur a été enregistré via then() [SWS_CORE_00331], [SWS_CORE_00337].

Ce texte a été généré par une IA et sert de guide d’orientation. Seules les spécifications AUTOSAR liées font foi.

Guide de l'implémenteur à venir (complexité I1)

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

Rückgabewert

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00327
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00327@rel:R25-11#235f29d9
Content hash
235f29d9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00327
Status: valid/unmigrated Version: rel:R25-11#67ea8cce Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00327@rel:R25-11#67ea8cce
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d314fbc32026-09-30
  • R19-11rel:R19-11#80d78b532026-10-14
  • R20-11rel:R20-11#b7f4e1552026-10-14
  • R21-11rel:R21-11#688e791c2026-10-14
  • R22-11rel:R22-11#4e92dc072026-10-14
  • R23-11rel:R23-11#91718d0e2026-10-14
  • R24-11rel:R24-11#1c24bacf2026-10-14
  • R25-11rel:R25-11#67ea8cce2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction wait [SWS_CORE_00328] Upstream: RS_AP_00130

void wait () const noexcept;

Wait for a value or an error to be available.

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9635b0074677 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre wait de la classe ara::core::Future bloque le thread appelant de manière synchrone jusqu'à ce qu'une valeur de résultat ou une erreur issue de l'opération asynchrone soit disponible [SWS_CORE_00328]. La fonction ne prend aucun paramètre, ne renvoie aucune valeur et se comporte, selon la spécification, de manière analogue à la fonction correspondante de std::future [SWS_CORE_00328]. Le même comportement s'applique à la spécialisation de modèle ara::core::Future<void, E> [SWS_CORE_06228].

Concernant le traitement des erreurs et la concurrence, les prescriptions suivantes sont définies :

  • Condition d'erreur : Si l'objet future n'est pas valide (valid == FALSE), il s'agit d'une FutureInvalidViolation [SWS_CORE_00328], [SWS_CORE_06228]. Néanmoins, la fonction est déclarée comme noexcept et classée comme sûre vis-à-vis des exceptions (exception safe) [SWS_CORE_00328].
  • Sécurité des threads : L'appel est explicitement classé comme not thread-safe [SWS_CORE_00328]. Un accès concurrentiel au même objet future sans synchronisation externe n'est pas autorisé.

En interaction avec des interfaces apparentées, il est recommandé de procéder avant l'appel à une vérification au moyen de is_ready [SWS_CORE_00332], [SWS_CORE_06232] : si celle-ci renvoie true, l'appel de wait ne bloquera à coup sûr plus. Si, au lieu d'une attente illimitée, un blocage limité dans le temps est requis, wait_for avec une durée relative [SWS_CORE_00329], [SWS_CORE_06229] ainsi que wait_until avec un instant absolu [SWS_CORE_00330], [SWS_CORE_06230] sont disponibles comme alternatives.

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Adaptive R25-11.

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

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CORE_00328
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00328@rel:R25-11#5a12cdc7
Content hash
5a12cdc7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00328
Status: valid/unmigrated Version: rel:R25-11#7d1caea0 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00328@rel:R25-11#7d1caea0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#71020ccc2026-09-30
  • R19-11rel:R19-11#1457e28d2026-10-14
  • R20-11rel:R20-11#7259d3062026-10-14
  • R21-11rel:R21-11#82e85c2e2026-10-14
  • R22-11rel:R22-11#63ca481a2026-10-14
  • R23-11rel:R23-11#7b23f9cb2026-10-14
  • R24-11rel:R24-11#4301d6592026-10-14
  • R25-11rel:R25-11#7d1caea02026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction wait_for [SWS_CORE_00329] Upstream: RS_AP_00130

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

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

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 360b2640b7ed Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre wait_for de la classe ara::core::Future bloque le thread appelant pendant au maximum la durée transmise timeoutDuration ou jusqu'à ce qu'une valeur de résultat ou une erreur soit disponible dans l'état partagé [SWS_CORE_00329]. Son comportement correspond à la fonction correspondante de std::future [SWS_CORE_00329]. Comme valeur de retour, elle fournit un FutureStatus [SWS_CORE_00329], qui indique si l'état partagé est disponible (kReady) ou si le temps d'attente spécifié est écoulé (kTimeout) [SWS_CORE_00361].

Gestion des erreurs et conditions limites

La fonction est déclarée comme noexcept et spécifiée comme sûre vis-à-vis des exceptions (exception safe) [SWS_CORE_00329]. Si l'objet Future est invalide (valid == FALSE), il s'agit d'une violation sous la forme de FutureInvalidViolation [SWS_CORE_00329]. Interprétation : étant donné qu'aucune exception C++ ne doit être levée, une telle violation devrait être traitée du côté de la plateforme comme une erreur fatale à l'exécution. Question Q-2f22a07f6e143856 (ouverte)

Concurrence et interaction

L'opération est classée comme not thread-safe [SWS_CORE_00329] ; les accès simultanés à la même instance nécessitent donc une synchronisation externe. La sémantique et la signature s'appliquent à l'identique pour la spécialisation de modèle ara::core::Future<void, E> [SWS_CORE_06229]. Contrairement à std::future_status, il n'existe dans le type énuméré FutureStatus aucune entrée pour deferred [SWS_CORE_00361].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité I1)

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

Parameter (in)

ParameterBeschreibung
timeoutDurationmaximal duration to wait for

Rückgabewert

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00329
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00329@rel:R25-11#7129a92d
Content hash
7129a92d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00329
Status: valid/unmigrated Version: rel:R25-11#bb164066 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00329@rel:R25-11#bb164066
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#669e52732026-09-30
  • R19-11rel:R19-11#34429cdd2026-10-14
  • R20-11rel:R20-11#6e3fcfd92026-10-14
  • R21-11rel:R21-11#6e3fcfd92026-10-14
  • R22-11rel:R22-11#4c259d672026-10-14
  • R23-11rel:R23-11#ec6d12432026-10-14
  • R24-11rel:R24-11#adb812622026-10-14
  • R25-11rel:R25-11#bb1640662026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction wait_until [SWS_CORE_00330] Upstream: RS_AP_00130

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

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

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b4703e774b3e Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre wait_until bloque le thread appelant jusqu'à ce que l'instant absolu spécifié deadline soit atteint ou que le ara::core::Future fournisse un résultat ou une erreur [SWS_CORE_00330]. Le comportement s'aligne sur la fonction correspondante de std::future [SWS_CORE_00330].

Comme valeur de retour, la fonction fournit un FutureStatus [SWS_CORE_00330]. Ce type énuméré signale via l'état kReady que l'état partagé est prêt (valeur ou erreur disponible), ou via kTimeout que le délai est écoulé sans résultat [SWS_CORE_00361]. Un état analogue à std::future_status::deferred n'existe pas dans FutureStatus [SWS_CORE_00361].

En ce qui concerne le traitement des erreurs et la sécurité vis-à-vis des exceptions, la fonction est spécifiée comme sûre vis-à-vis des exceptions (exception safe) et noexcept [SWS_CORE_00330]. Si la fonction est toutefois appelée sur une instance invalide (valid == FALSE), il s'agit d'une violation sous la forme de FutureInvalidViolation [SWS_CORE_00330].

En ce qui concerne la concurrence, wait_until est classée comme non sûre au niveau des threads (not thread-safe) [SWS_CORE_00330]. Les accès parallèles au même objet ara::core::Future doivent donc être synchronisés de manière externe. La même sémantique et la même signature s'appliquent à la spécialisation ara::core::Future<void, E> [SWS_CORE_06230].

Ce texte a été rédigé par une IA et sert de guide d'orientation. Seule la spécification fait foi.

Guide de l'implémenteur à venir (complexité I1)

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

Parameter (in)

ParameterBeschreibung
deadlinelatest point in time to wait

Rückgabewert

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00330
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00330@rel:R25-11#96f3b645
Content hash
96f3b645
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00330
Status: valid/unmigrated Version: rel:R25-11#00db6175 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00330@rel:R25-11#00db6175
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f662b2c42026-09-30
  • R19-11rel:R19-11#a84101962026-10-14
  • R20-11rel:R20-11#4f8fd4042026-10-14
  • R21-11rel:R21-11#0fe1ad9c2026-10-14
  • R22-11rel:R22-11#6ef3c1042026-10-14
  • R23-11rel:R23-11#872aa1602026-10-14
  • R24-11rel:R24-11#412256922026-10-14
  • R25-11rel:R25-11#00db61752026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction ~Future [SWS_CORE_00333] Upstream: RS_AP_00130

~Future () noexcept;

Destructor for Future objects. Abandons any shared state

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

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

Record
AUTOSAR/AP/record/SWS_CORE_00333
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00333@rel:R25-11#bd87b73c
Content hash
bd87b73c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00333
Status: valid/unmigrated Version: rel:R25-11#2689e3e8 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00333@rel:R25-11#2689e3e8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#16f70bc12026-09-30
  • R19-11rel:R19-11#42ac89202026-10-14
  • R20-11rel:R20-11#8f4a235f2026-10-14
  • R21-11rel:R21-11#eccb21be2026-10-14
  • R22-11rel:R22-11#58e9180f2026-10-14
  • R23-11rel:R23-11#b308517b2026-10-14
  • R24-11rel:R24-11#02a09fc62026-10-14
  • R25-11rel:R25-11#2689e3e82026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill