Encapsule une valeur optionnellement présente dans la mémoire de pile avec sûreté de typage et permet un accès dépendant de l'état.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b7fd51442c86ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Encapsule une valeur optionnellement présente dans la mémoire de pile avec sûreté de typage et permet un accès dépendant de l'état.
La classe ara::core::Optional fournit une implémentation conforme aux standards de std::optional<T> afin d'encapsuler des valeurs du type value_type avec sûreté de typage et sans allocation sur la pile [SWS_CORE_01102]. Les applications vérifient l'état d'occupation via has_value()[SWS_CORE_01129] et accèdent au contenu via value() ou des opérateurs. Tout accès à des instances vides doit être strictement évité, car il déclenche la violation de plateforme IsoStdBadOptionalAccessViolation malgré la déclaration noexcept[SWS_CORE_01131].
Contexte
La classe ara::core::Optional fournit une implémentation conforme aux standards du conteneur std::optional<T> pour l'Adaptive Platform. Elle sert d'enveloppe à sûreté de typage pour encapsuler une valeur optionnelle de type value_type[SWS_CORE_01102]. Son utilisation supprime la nécessité de valeurs sentinelles sujettes aux erreurs, d'indicateurs d'erreur spécifiques ou d'allocations dynamiques de mémoire (telles que les pointeurs nuls) pour signaler l'absence de données. Le stockage de l'objet s'effectue directement dans la mémoire de pile de l'instance, ce qui garantit une gestion déterministe des ressources et la localité du cache dans l'environnement d'exécution AUTOSAR.
Cycle de vie
Une instance de ara::core::Optional se trouve à tout instant dans l'un de deux états discrets : non initialisée (vide) ou occupée avec une valeur de type T. L'état initial vide est pris via le constructeur par défaut [SWS_CORE_01103] ou l'initialisation explicite avec nullopt_t[SWS_CORE_01104]. L'initialisation avec une valeur concrète s'effectue soit par des constructeurs de copie et de déplacement [SWS_CORE_01105], [SWS_CORE_01106], [SWS_CORE_01109], des constructeurs de conversion de type [SWS_CORE_01110], [SWS_CORE_01111], soit directement sur place via in_place_t[SWS_CORE_01107], [SWS_CORE_01108], ce qui évite entièrement les copies temporaires.
En cours de fonctionnement, l'état peut changer à plusieurs reprises : les méthodes emplace construisent une nouvelle valeur directement dans la mémoire de l'objet et abandonnent un éventuel état existant au préalable [SWS_CORE_01119], [SWS_CORE_01120]. De même, les opérateurs d'assignation qui sont strictement liés à des lvalues via les qualificateurs de référence & conduisent à l'état occupé [SWS_CORE_01114], [SWS_CORE_01115], [SWS_CORE_01116], [SWS_CORE_01117], [SWS_CORE_01118]. La réinitialisation à l'état vide s'effectue de manière déterministe via reset()[SWS_CORE_01136] ou par l'assignation de nullopt_t[SWS_CORE_01113]. De plus, deux instances peuvent échanger efficacement leurs états et leurs contenus de données via swap[SWS_CORE_01121]. Lorsqu'elle atteint sa fin de vie, le destructeur détruit l'objet éventuellement contenu ; sa garantie noexcept est ici directement couplée à la capacité de destruction du type T[SWS_CORE_01112].
Le déroulement régulier comprend la vérification de l'occupation, puis la lecture subséquente de la valeur. has_value()[SWS_CORE_01129] et l'opérateur de conversion explicite operator bool[SWS_CORE_01128] sont disponibles pour interroger l'état.
Un accès erroné se produit lorsqu'une instance vide est déréférencée ou que sa valeur est demandée de manière injustifiée. Les méthodes d'accès value(), operator* et operator-> sont déclarées dans AUTOSAR Adaptive comme noexcept, mais déclenchent la violation IsoStdBadOptionalAccessViolation à l'état vide ([SWS_CORE_01122], [SWS_CORE_01123], [SWS_CORE_01124], [SWS_CORE_01125], [SWS_CORE_01126], [SWS_CORE_01127], [SWS_CORE_01130], [SWS_CORE_01131], [SWS_CORE_01132], [SWS_CORE_01133]). Interprétation : Comme les méthodes sont déclarées noexcept, le déclenchement de IsoStdBadOptionalAccessViolation ne devrait pas être propagé comme une exception standard capturable, mais conduit vraisemblablement à l'arrêt immédiat du programme via le mécanisme de violation spécifique à la plateforme. Les appelants doivent donc impérativement valider le statut d'occupation avant la lecture. Question Q-3c066dae2b93a9ec (ouverte)
Un autre scénario d'erreur concerne le traitement des exceptions lors de la construction du type : les constructeurs, les opérateurs d'assignation, swap et emplace possèdent des spécifications noexcept conditionnelles qui dépendent du fait que les opérations de type correspondantes de T sont elles-mêmes déclarées comme noexcept ([SWS_CORE_01105], [SWS_CORE_01114], [SWS_CORE_01119], [SWS_CORE_01121]). La méthode de repli value_or est en outre explicitement désignée comme non sûre face aux exceptions (« not exception safe ») ([SWS_CORE_01134], [SWS_CORE_01135]), de sorte que les erreurs survenant lors de la génération de la valeur de retour sont transmises à l'appelant.
Ce guide de classe est exclusivement basé sur les exigences de la spécification ara::core::Optional issue d'AUTOSAR Adaptive R25-11.
except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition) ≙ [optional]
Surchargesvalue4
constexpr const T & value () const & noexcept;SWS_CORE_01130
except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition) ≙ [optional]
Surcharges*4
constexpr const T & operator* () const & noexcept;SWS_CORE_01124
except for the following deviations: 1. The function is noexcept 2. Function is not constexpr 3. A IsoStdBadOptionalAccessViolation may be raised (see condition) ≙ [optional]
template <typename U = T> {<cond-explicit-1>} constexpr Optional (U &&) noexcept(std::is_ nothrow_constructible< T, U >::value);
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a319ba530534ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction constructeur [SWS_CORE_01109] de la classe ara::core::Optional est mise à disposition via l'en-tête #include "ara/core/optional.h". En tant que constructeur modèle doté de la signature template <typename U = T> constexpr Optional(U&&), elle sert à l'initialisation directe d'une valeur optionnelle en transférant l'argument de type U&& vers le type valeur contenu T ([SWS_CORE_01102]). La sémantique suit la définition établie dans [optional], mais s'en écarte par une condition explicite concernant l'absence d'exception : la fonction est spécifiée comme noexcept si et seulement si std::is_nothrow_constructible<T, U>::value est satisfaite ([SWS_CORE_01109]).
Traitement des erreurs et sécurité vis-à-vis des exceptions
Concernant la sécurité vis-à-vis des exceptions, l'appel est classé comme conditionally exception safe ([SWS_CORE_01109]). Il n'existe pas de codes d'erreur AUTOSAR spécifiques ni de voies de rapport via DET ou DEM pour ce constructeur ; si la construction du type cible T échoue, l'exception correspondante du type est relayée.
Interaction et concurrence
La fonction coexiste avec le constructeur par défaut [SWS_CORE_01103] et le constructeur nul [SWS_CORE_01104], qui créent des instances vides, ainsi qu'avec les constructeurs de copie et de déplacement [SWS_CORE_01105] et [SWS_CORE_01106]. De plus, ara::core::Optional sert de support pour des valeurs de retour optionnelles dans le traitement des erreurs de ara::core::Result, par exemple lors de la récupération de valeurs via Ok() ([SWS_CORE_00770]) ou d'erreurs via Err() ([SWS_CORE_00772]). Interprétation : en l'absence d'engagements explicites de sécurité vis-à-vis des threads dans [SWS_CORE_01109], l'appel concurrent du constructeur ne devrait être sûr que si l'objet source U est protégé contre les modifications simultanées. Question Q-edf541fe968f3afe (ouverte)
Cette note d'utilisation a été générée automatiquement. La spécification AUTOSAR fait foi.
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : dd45cef6ee33ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
Le constructeur de copie effectuant une conversion de ara::core::Optional est disponible via le fichier d'en-tête #include "ara/core/optional.h"[SWS_CORE_01110]. Il sert à la création synchrone d'un Optional<T> à partir d'une instance existante const Optional<U>&. La marque de spécification {<cond-explicit-2>} devrait signifier que le constructeur est déclaré comme explicit, pour autant que T ne puisse pas être implicitement créé à partir de const U&. Question Q-4a4adc2b59d1fa53 (ouverte)
Gestion des erreurs et sécurité vis-à-vis des exceptions
Pour ce constructeur, il n'existe pas de codes d'erreur spécifiques, ni de messages DET ou DEM. La fonction est classée comme conditionnellement sûre du point de vue des exceptions (conditionally exception safe) [SWS_CORE_01110]. La garantie noexcept ne s'applique via noexcept(std::is_nothrow_constructible<T, const U&>::value) que si le type cible T peut être construit sans exception à partir de const U&[SWS_CORE_01110]. Si la création de la valeur cible échoue, les exceptions se propagent sans modification.
Concurrence et restrictions
Contrairement à d'autres fonctions telles que Ok()[SWS_CORE_00770], la spécification n'indique aucune sécurité vis-à-vis des threads pour ce constructeur. Bien qu'il doive être réentrant, un accès concurrent en lecture ou en écriture à l'objet source Optional<U> requiert une synchronisation externe. Question Q-a0534498f685f575 (ouverte)
Interaction
Le constructeur complète les autres fonctions d'initialisation de ara::core::Optional, parmi lesquelles les constructeurs par défaut, nuls et de copie ([SWS_CORE_01103], [SWS_CORE_01104], [SWS_CORE_01105], [SWS_CORE_01106]) ainsi que l'opération d'échange [SWS_CORE_01096]. En outre, le type interagit étroitement avec ara::core::Result, dont les méthodes Ok() et Err() exposent des valeurs ou des erreurs en tant que Optional ([SWS_CORE_00770], [SWS_CORE_00772]).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5e86b0752dceProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction modèle [SWS_CORE_01111] met à disposition le constructeur de déplacement convertissant de la classe ara::core::Optional issu du fichier d'en-tête #include "ara/core/optional.h". Elle prend en charge une référence rvalue Optional<U>&& pour initialiser une instance de Optional<T> et suit le comportement de [optional] avec la divergence documentée d'une spécification conditionnelle noexcept[SWS_CORE_01111]. Selon l'interprétation, la clause de spécification {<cond-explicit-3>} devrait contrôler si la conversion s'effectue implicitement ou explicitement selon les propriétés des types T et U. Question Q-0b21a6eafb9414d8 (ouverte)
Concernant le traitement des erreurs et la gestion des exceptions, le constructeur est classé comme conditionnellement sûr du point de vue des exceptions (conditionally exception safe) [SWS_CORE_01111]. L'exécution est noexcept si et seulement si std::is_nothrow_constructible<T, U>::value est satisfaite [SWS_CORE_01111]. Dans le cas contraire, des exceptions peuvent survenir pendant la construction de la valeur contenue et être propagées à l'appelant.
Au sein de ara::core::Optional, cette fonction complète le constructeur de déplacement régulier [SWS_CORE_01106], le constructeur de copie [SWS_CORE_01105] ainsi que le constructeur par défaut [SWS_CORE_01103]. De plus, l'élément interagit étroitement avec ara::core::Result, dont les méthodes Ok() et Err() renvoient les valeurs ou erreurs contenues sous forme de ara::core::Optional (comme dans [SWS_CORE_00770], [SWS_CORE_00771] et [SWS_CORE_00772]), ainsi qu'avec la fonction utilitaire swap[SWS_CORE_01096].
Cette note d'utilisation a été générée automatiquement sur la base des données de spécification.
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4b99ff09898eProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre emplace de la classe ara::core::Optional sert à créer la valeur contenue du type T directement dans la mémoire de l'objet optionnel [SWS_CORE_01119]. L'appel s'effectue de manière synchrone via le fichier d'en-tête ara/core/optional.h. Comme paramètre, la fonction prend un paquet d'arguments variable Args&&... et le transmet au constructeur du type T ; une référence lvalue sur la valeur nouvellement créée est renvoyée (T&) [SWS_CORE_01119].
Concernant le traitement des exceptions, la fonction est classée comme conditionnellement sûre face aux exceptions (conditionally exception safe) et possède une spécification conditionnelle noexcept basée sur std::is_nothrow_constructible<T, Args&&...>::value[SWS_CORE_01119]. Si la construction de T déclenche une exception, la sécurité face aux exceptions du type sous-jacent s'applique ; une garantie noexcept s'applique exclusivement si la construction garantit de ne lever aucune exception. Aucun code d'erreur spécifique, événement DEM ou message DET n'est prévu dans la spécification [SWS_CORE_01119].
Concernant la concurrence, la spécification reste silencieuse ; interprétation : l'accès simultané en écriture de plusieurs threads à la même instance de ara::core::Optional ne devrait pas être sûr pour les threads sans synchronisation externe. Question Q-c11efb3f95001493 (ouverte) De plus, une valeur préalablement présente devrait être détruite lors de la réinitialisation.
Dans le cadre de l'interaction au sein de ara::core::Optional, des surcharges alternatives existent : pour les listes d'initialisation, une variante avec std::initializer_list est disponible [SWS_CORE_01120], tandis que pour les types de référence ara::core::Optional<T&>, une surcharge dédiée est définie [SWS_CORE_01164]. Des mécanismes d'emplacement similaires pour la construction sur place existent dans le module core également pour des conteneurs tels que ara::core::Vector[SWS_CORE_01366], ara::core::Map[SWS_CORE_01458] et ara::core::Variant[SWS_CORE_01661], [SWS_CORE_01662], [SWS_CORE_01663], [SWS_CORE_01664].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a5f272ff8d2cProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre emplace de [SWS_CORE_01120] sert à initialiser directement sur place (in-place) la valeur contenue d'un objet de type ara::core::Optional. Elle prend une std::initializer_list<U> ainsi que des arguments optionnels Args&&... et renvoie une référence T& sur la valeur nouvellement créée.
Concernant le traitement des erreurs et la sécurité face aux exceptions, la fonction est spécifiée comme conditionnellement sûre face aux exceptions (conditionally exception safe). La condition noexcept dépend exactement, conformément à [SWS_CORE_01120], du fait que le type cible T puisse ou non être construit sans exception en utilisant la std::initializer_list<U>& et les arguments de transfert (std::is_nothrow_constructible). Cela constitue un écart explicite par rapport au comportement dans le [optional] standard.
Au sein des composants principaux, cette surcharge complète la construction sur place générique sans liste d'initialisation de [SWS_CORE_01119]. Pour les spécialisations de références, il existe en outre l'assignation via [SWS_CORE_01164]. Interprétation : comme c'est le cas pour son homologue standard dans [optional], en présence d'une valeur antérieure, celle-ci devrait être détruite avant la nouvelle construction. Question Q-b8a9274e43f0a0a9 (ouverte)
Cette note d'utilisation a été générée automatiquement et repose sur les exigences de la spécification.
constexpr const T & operator* () const & noexcept;
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
constexpr const T && operator* () const &&noexcept;
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. Function is not constexpr 3. A IsoStdBadOptionalAccessViolation may be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. Function is not constexpr 3. A IsoStdBadOptionalAccessViolation may be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept 2. Function is declared with the ref-qualifier &
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept 2. Function is declared with the ref-qualifier &
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept 2. Function is declared with the ref-qualifier &
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept 2. Function is declared with the ref-qualifier &
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e8663f9a82eeProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre reset de la classe ara::core::Optional est fournie via l'en-tête #include "ara/core/optional.h" et sert à réinitialiser une instance [SWS_CORE_01136]. La fonction possède la signature void reset () noexcept;, n'accepte aucun paramètre et ne fournit aucune valeur de retour [SWS_CORE_01136]. Son comportement suit l'utilisation correspondante dans [optional][SWS_CORE_01136] ; Interprétation : sur la base de cette référence, l'appel devrait détruire une éventuelle valeur d'état existante et faire passer l'instance dans un état non occupé. Question Q-c819444ae1a7df1f (ouverte)
En ce qui concerne le traitement des erreurs et la gestion des exceptions, reset est déclarée comme sûre vis-à-vis des exceptions (exception safe) ainsi qu'avec l'identifiant noexcept[SWS_CORE_01136]. Aucune exception n'est levée et aucun code d'erreur n'est renvoyé [SWS_CORE_01136].
Dans l'interaction avec d'autres composants de la bibliothèque Core, les références suivantes sont pertinentes :
Pour les références optionnelles ara::core::Optional<T&>, une surcharge de reset spécifiée comme constexpr est disponible, qui est également noexcept et sûre vis-à-vis des exceptions [SWS_CORE_01165].
Contrairement à Optional, le type ara::core::Bitset dans l'en-tête ara/core/bitset.h propose également des fonctions reset : une variante sans paramètre qui référence le bitset modifié [SWS_CORE_01727], ainsi qu'une surcharge basée sur la position avec retour de Result et vérification de IsoStdOutOfRangeViolation[SWS_CORE_01728].
Ce texte a été généré automatiquement. Toutes les indications reposent sur le périmètre de spécification d'AUTOSAR Adaptive R25-11.
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
As per corresponding usage in [optional] except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition)
template <typename U> constexpr T value_or (U &&) const &;
As per corresponding usage in [optional]
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4420db92e204Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction membre modèle value_or de la classe ara::core::Optional conformément à [SWS_CORE_01134] sert à récupérer de manière synchrone la valeur contenue ou une valeur de repli fournie. Elle est intégrée via l'en-tête #include "ara/core/optional.h" et est déclarée avec la signature template <typename U> constexpr T value_or (U &&) const &; comme méthode de référence lvalue constante. Le comportement suit la définition correspondante de std::optional (« As per corresponding usage in [optional] »), ce qui renvoie la valeur T lorsque le contenu est défini, et la valeur par défaut transmise dans le cas contraire.
Gestion des erreurs et sécurité vis-à-vis des exceptions
En ce qui concerne le traitement des erreurs, la fonction est explicitement spécifiée conformément à [SWS_CORE_01134] comme non sûre vis-à-vis des exceptions (« not exception safe »). Aucun code d'erreur, message DET ou DEM n'est prévu pour cet appel. Les exceptions levées lors d'opérations de conversion ou de copie peuvent ainsi se propager vers l'extérieur.
Interaction
Au sein de ara::core::Optional, il existe des surcharges complémentaires de value_or :
[SWS_CORE_01135] fournit la surcharge rvalue template <typename U> constexpr T value_or (U &&) &&;, qui est également déclarée comme non sûre vis-à-vis des exceptions (« not exception safe ») et permet un déplacement optimisé pour les objets temporaires.
[SWS_CORE_01175] spécifie la surcharge pour la spécialisation ara::core::Optional<T&> avec la signature template <typename U> constexpr T value_or (U &&u) const noexcept;, qui, contrairement à [SWS_CORE_01134], est caractérisée comme sûre vis-à-vis des exceptions (« exception safe »).
Cette note d'utilisation a été générée de manière automatisée et repose exclusivement sur les données de spécification d'AUTOSAR Release R25-11.
template <typename U> constexpr T value_or (U &&) &&;
As per corresponding usage in [optional]
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1f9eb2809808ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction membre qualifiée rvalue value_or de la classe modèle ara::core::Optional est mise à disposition via le fichier d'en-tête ara/core/optional.h[SWS_CORE_01135]. Conformément à la référence à [optional], elle sert à interroger de manière synchrone la valeur contenue ou à renvoyer une valeur de substitution transmise. Comme cet appel est lié à des références rvalue, la valeur contenue est probablement transférée par sémantique de déplacement dès lors qu'une valeur est présente ; dans le cas contraire, l'argument transmis est évalué et converti. Question Q-e20f155d58dd0d72 (ouverte)
Interaction et surcharges
La fonction complète la surcharge const-lvalue [SWS_CORE_01134], qui propose le même mécanisme de repli pour les instances durables ou non temporaires. Pour les spécialisations portant sur des références ara::core::Optional<T &>, il existe à titre de déviation une signature [SWS_CORE_01175] déclarée comme noexcept, alors que la surcharge générale est prévue pour les rvalues de types valeurs.
Gestion des erreurs et sécurité vis-à-vis des exceptions
La méthode est explicitement déclarée comme not exception safe[SWS_CORE_01135]. Il n'existe pas de codes d'erreur spécifiques, ni de notifications DET ou DEM. Interprétation : les exceptions potentielles devraient provenir principalement de constructeurs de déplacement ou d'opérateurs de conversion des types impliqués T et U, si des erreurs surviennent lors de la génération de la valeur de retour. Question (ouverte)
Ce texte a été créé par une IA et se base exclusivement sur les spécifications de la version R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand