Kapselt een optioneel aanwezige waarde typeveilig in het stackgeheugen in en maakt toestandafhankelijke toegang mogelijk.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b7fd51442c86HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Kapselt een optioneel aanwezige waarde typeveilig in het stackgeheugen in en maakt toestandafhankelijke toegang mogelijk.
De klasse ara::core::Optional stelt een aan de standaard conforme implementatie van std::optional<T> beschikbaar om waarden van het type value_type typeveilig en zonder allocatie op de stack in te kapselen [SWS_CORE_01102]. Toepassingen controleren de bezettingstoestand via has_value()[SWS_CORE_01129] en benaderen de inhoud via value() of operators. Toegang tot lege instanties dient strikt te worden vermeden, aangezien dit ondanks de noexcept-declaratie de platformschending IsoStdBadOptionalAccessViolation activeert [SWS_CORE_01131].
Context
De klasse ara::core::Optional stelt een aan de standaard conforme implementatie van de container std::optional<T> beschikbaar voor het Adaptive Platform. Deze dient als typeveilige omhulling voor het inkapselen van een optionele waarde van het type value_type[SWS_CORE_01102]. Door het gebruik vervalt de noodzaak van foutgevoelige sentinel-waarden, speciale foutvlaggen of dynamische geheugenallocaties (zoals null-pointers) voor het aanduiden van afwezige data. De opslag van het object vindt direct binnen het stackgeheugen van de instantie plaats, waardoor deterministisch beheer van resources en cache-lokaliteit in de AUTOSAR-runtimeomgeving worden gewaarborgd.
Levenscyclus
Een instantie van ara::core::Optional bevindt zich op elk moment in een van twee discrete toestanden: ongeïnitialiseerd (leeg) of bezet met een waarde van het type T. De lege begintoestand wordt aangenomen via de standaardconstructor [SWS_CORE_01103] of de expliciete initialisatie met nullopt_t[SWS_CORE_01104]. De initialisatie met een concrete waarde vindt plaats via copy- en move-constructors [SWS_CORE_01105], [SWS_CORE_01106], [SWS_CORE_01109], typeconverteerbare constructors [SWS_CORE_01110], [SWS_CORE_01111] of direct in-place via in_place_t[SWS_CORE_01107], [SWS_CORE_01108], waardoor tijdelijke kopieën volledig worden vermeden.
Tijdens normaal bedrijf kan de toestand meermaals wisselen: de methoden emplace construeren een nieuwe waarde direct in het geheugen van het object en verwerpen een eventueel eerder bestaande toestand [SWS_CORE_01119], [SWS_CORE_01120]. Evenzo leiden toekenningsoperators, die via ref-qualifier & strikt aan lvalues gebonden zijn, naar de bezette toestand [SWS_CORE_01114], [SWS_CORE_01115], [SWS_CORE_01116], [SWS_CORE_01117], [SWS_CORE_01118]. Het terugzetten naar de lege toestand geschiedt deterministisch via reset()[SWS_CORE_01136] of door toekenning van nullopt_t[SWS_CORE_01113]. Bovendien kunnen twee instanties via swap efficiënt hun toestanden en data-inhoud uitwisselen [SWS_CORE_01121]. Bij het bereiken van het einde van de levensduur vernietigt de destructor het eventueel aanwezige object; de noexcept-garantie hiervan is daarbij direct gekoppeld aan de vernietigbaarheid van type T[SWS_CORE_01112].
Het reguliere verloop omvat de verificatie van de bezetting en het aansluitend uitlezen van de waarde. Voor het opvragen van de toestand staan has_value()[SWS_CORE_01129] en de expliciete conversieoperator operator bool[SWS_CORE_01128] ter beschikking.
Van een foutieve toegang is sprake wanneer een lege instantie wordt gederefereerd of de waarde daarvan ongeoorloofd wordt opgevraagd. De toegangsmethoden value(), operator* en operator-> zijn in AUTOSAR Adaptive gedeclareerd als noexcept, maar activeren in lege toestand de schending IsoStdBadOptionalAccessViolation ([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]). Interpretatie: Aangezien de methoden als noexcept zijn gedeclareerd, zal het activeren van de IsoStdBadOptionalAccessViolation vermoedelijk niet als een afvangbare standaardexceptie worden gepropageerd, maar leidt dit waarschijnlijk via het platformspecifieke schendingsmechanisme tot onmiddellijke programma-afbreking. Vraag Q-3c066dae2b93a9ec (open) Aanroepers moeten daarom de bezettingsstatus dwingend valideren alvorens uit te lezen.
Een ander foutscenario betreft de exceptieafhandeling bij de typeconstructie: constructors, toekenningsoperators, swap en emplace bezitten voorwaardelijke noexcept-specificaties die ervan afhangen of de desbetreffende typeoperaties van T zelf als noexcept zijn gedeclareerd ([SWS_CORE_01105], [SWS_CORE_01114], [SWS_CORE_01119], [SWS_CORE_01121]). De fallback-methode value_or is bovendien expliciet als niet-exceptieveilig („not exception safe”) aangemerkt ([SWS_CORE_01134], [SWS_CORE_01135]), zodat fouten die optreden bij het aanmaken van de retourwaarde worden doorgegeven aan de aanroeper.
Deze klassehandleiding is uitsluitend gebaseerd op de eisen uit de specificatie ara::core::Optional uit AUTOSAR Adaptive R25-11.
except for the following deviations: 1. The function is noexcept 2. A IsoStdBadOptionalAccessViolation may conditionally be raised (see condition) ≙ [optional]
Overloadsvalue4
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]
Overloads*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
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: a319ba530534HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De constructorfunctie [SWS_CORE_01109] van de klasse ara::core::Optional wordt beschikbaar gesteld via de header #include "ara/core/optional.h". Als templateconstructor met de signatuur template <typename U = T> constexpr Optional(U&&) dient deze voor de directe initialisatie van een optionele waarde onder doorsturen van het argument van het type U&& naar het ingesloten waardetype T ([SWS_CORE_01102]). De semantiek volgt de bepaling in [optional], maar wijkt af door een expliciete voorwaarde voor de vrijheid van excepties: de functie is dan en slechts dan gespecificeerd als noexcept wanneer aan std::is_nothrow_constructible<T, U>::value is voldaan ([SWS_CORE_01109]).
Foutafhandeling en uitzonderingsveiligheid
Wat betreft uitzonderingsveiligheid is de aanroep geclassificeerd als conditionally exception safe ([SWS_CORE_01109]). Specifieke AUTOSAR-foutcodes en rapportagewegen via DET of DEM bestaan voor deze constructor niet; faalt de constructie van het doeltype T, dan wordt de desbetreffende exceptie van het type doorgegeven.
Interactie en gelijktijdigheid
De functie staat naast de standaardconstructor [SWS_CORE_01103] en de null-constructor [SWS_CORE_01104], die lege instanties aanmaken, evenals de kopieer- en verplaatsconstructors [SWS_CORE_01105] en [SWS_CORE_01106]. Bovendien dient ara::core::Optional als drager voor optionele retourwaarden in de foutafhandeling van ara::core::Result, bijvoorbeeld bij het opvragen van waarden via Ok() ([SWS_CORE_00770]) of fouten via Err() ([SWS_CORE_00772]). Interpretatie: bij gebrek aan expliciete toezeggingen over thread-safety in [SWS_CORE_01109] is de gelijktijdige aanroep van de constructor vermoedelijk alleen veilig wanneer het bronobject U beschermd is tegen gelijktijdige modificaties. Vraag Q-edf541fe968f3afe (open)
Deze gebruiksinstructie is automatisch gegenereerd. Maatgevend is de AUTOSAR-specificatie.
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: dd45cef6ee33HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De converterende kopieerconstructor van ara::core::Optional is beschikbaar via het headerbestand #include "ara/core/optional.h"[SWS_CORE_01110]. Deze dient voor het synchroon aanmaken van een Optional<T> uit een bestaande instantie const Optional<U>&. De specificatiemarkering {<cond-explicit-2>} betekent vermoedelijk dat de constructor als explicit is gedeclareerd, mits T niet impliciet uit const U& kan worden gegenereerd. Vraag Q-4a4adc2b59d1fa53 (open)
Foutafhandeling en exception-veiligheid
Voor deze constructor bestaan geen specifieke foutcodes, DET- of DEM-meldingen. De functie is geclassificeerd als voorwaardelijk uitzonderingsveilig (conditionally exception safe) [SWS_CORE_01110]. De noexcept-garantie geldt via noexcept(std::is_nothrow_constructible<T, const U&>::value) uitsluitend wanneer het doeltype T zonder excepties kan worden geconstrueerd uit const U&[SWS_CORE_01110]. Faalt het aanmaken van de doelwaarde, dan propageren excepties ongewijzigd.
Gelijktijdigheid en beperkingen
In tegenstelling tot andere functies zoals Ok()[SWS_CORE_00770] vermeldt de specificatie voor deze constructor geen thread-safety. Deze is vermoedelijk weliswaar re-entrant, maar gelijktijdige lees- of schrijftoegang tot het bronobject Optional<U> vereist externe synchronisatie. Vraag Q-a0534498f685f575 (open)
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 5e86b0752dceHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De templatefunctie [SWS_CORE_01111] stelt de converterende move-constructor van de klasse ara::core::Optional uit het headerbestand #include "ara/core/optional.h" beschikbaar. Deze neemt een rvalue-referentie Optional<U>&& aan ter initialisatie van een instantie van Optional<T> en volgt het gedrag van [optional] met de gedocumenteerde afwijking van een voorwaardelijke noexcept-specificatie [SWS_CORE_01111]. De specificatieclausule {<cond-explicit-3>} stuurt bij wijze van interpretatie vermoedelijk of de conversie afhankelijk van eigenschappen van de typen T en U impliciet of expliciet plaatsvindt. Vraag Q-0b21a6eafb9414d8 (open)
Met betrekking tot foutafhandeling en exceptieafhandeling is de constructor geclassificeerd als voorwaardelijk uitzonderingsveilig (conditionally exception safe) [SWS_CORE_01111]. De uitvoering is dan en slechts dan noexcept als aan std::is_nothrow_constructible<T, U>::value is voldaan [SWS_CORE_01111]. Anders kunnen tijdens de constructie van de ingesloten waarde excepties optreden en naar de aanroeper worden gepropageerd.
Binnen ara::core::Optional vormt deze functie een aanvulling op de reguliere move-constructor [SWS_CORE_01106], de copy-constructor [SWS_CORE_01105] en de standaardconstructor [SWS_CORE_01103]. Daarnaast heeft het element een nauwe interactie met ara::core::Result, waarvan de methoden Ok() en Err() ingesloten waarden of fouten retourneren als ara::core::Optional (zoals in [SWS_CORE_00770], [SWS_CORE_00771] en [SWS_CORE_00772]), evenals met de hulpfunctie swap[SWS_CORE_01096].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatiegegevens.
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4b99ff09898eHerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De lidfunctie emplace van de klasse ara::core::Optional dient ertoe om de bevatte waarde van het type T direct in het geheugen van het optionele object te creëren [SWS_CORE_01119]. De aanroep vindt synchroon plaats via het headerbestand ara/core/optional.h. Als parameter accepteert de functie een variabel argumentenpakket Args&&... en stuurt dit door naar de constructor van het type T; er wordt een lvalue-referentie naar de nieuw gecreëerde waarde geretourneerd (T&) [SWS_CORE_01119].
Wat betreft uitzonderingsafhandeling is de functie geclassificeerd als voorwaardelijk uitzonderingsveilig (conditionally exception safe) en heeft deze een voorwaardelijke noexcept-specificatie gebaseerd op std::is_nothrow_constructible<T, Args&&...>::value[SWS_CORE_01119]. Als de constructie van T een uitzondering genereert, geldt de uitzonderingsveiligheid van het onderliggende type; een noexcept-garantie geldt uitsluitend wanneer de constructie gegarandeerd geen uitzonderingen werpt. Specifieke foutcodes, DEM-gebeurtenissen of DET-meldingen zijn in de specificatie niet voorzien [SWS_CORE_01119].
Wat betreft concurrency zwijgt de specificatie; interpretatie: gelijktijdige schrijftoegang van meerdere threads tot dezelfde instantie van ara::core::Optional is zonder externe synchronisatie vermoedelijk niet thread-safe. Vraag Q-c11efb3f95001493 (open) Bovendien wordt een eerder aanwezige waarde bij herinitialisatie vermoedelijk vernietigd.
In het samenspel binnen ara::core::Optional bestaan alternatieve overloads: voor initialisatielijsten is een variant met std::initializer_list beschikbaar [SWS_CORE_01120], terwijl voor referentietypen ara::core::Optional<T&> een specifieke overload is gedefinieerd [SWS_CORE_01164]. Vergelijkbare emplace-mechanismen voor in-place-constructie bestaan in de module core ook voor containers zoals ara::core::Vector[SWS_CORE_01366], ara::core::Map[SWS_CORE_01458] en ara::core::Variant[SWS_CORE_01661], [SWS_CORE_01662], [SWS_CORE_01663], [SWS_CORE_01664].
Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie R25-11.
As per corresponding usage in [optional] except for the following deviations: 1. Function is conditionally noexcept
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: a5f272ff8d2cHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De lidfunctie emplace uit [SWS_CORE_01120] dient ertoe om de bevatte waarde van een object van het type ara::core::Optional direct ter plaatse (in-place) te initialiseren. Deze accepteert een std::initializer_list<U> en optionele argumenten Args&&... en retourneert een referentie T& naar de nieuw gecreëerde waarde.
Wat betreft foutafhandeling en uitzonderingsveiligheid is de functie gespecificeerd als voorwaardelijk uitzonderingsveilig (conditionally exception safe). De noexcept-voorwaarde hangt conform [SWS_CORE_01120] er exact van af of het doeltype T met gebruikmaking van de std::initializer_list<U>& en de doorstuurargumenten uitzonderingsvrij kan worden geconstrueerd (std::is_nothrow_constructible). Dit vormt een expliciete afwijking van het gedrag in standaard-[optional].
Binnen het geheel van de kerncomponenten vult deze overload de generieke in-place-constructie zonder initialisatielijst uit [SWS_CORE_01119] aan. Voor referentiespecialisaties bestaat bovendien de toekenning via [SWS_CORE_01164]. Interpretatie: zoals gebruikelijk bij de standaard-tegenhanger in [optional], wordt bij aanwezigheid van een eerdere waarde deze vermoedelijk vóór de nieuwe constructie vernietigd. Vraag Q-b8a9274e43f0a0a9 (open)
Deze gebruiksinstructie is automatisch gegenereerd en is gebaseerd op de bepalingen van de specificatie.
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 &
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: e8663f9a82eeHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De memberfunctie reset van de klasse ara::core::Optional wordt beschikbaar gesteld via de header #include "ara/core/optional.h" en dient voor het resetten van een instantie [SWS_CORE_01136]. De functie heeft de signatuur void reset () noexcept;, accepteert geen parameters en levert geen retourwaarde op [SWS_CORE_01136]. Het gedrag volgt het corresponderende gebruik in [optional][SWS_CORE_01136]; Interpretatie: Op basis van deze referentie vernietigt de aanroep vermoedelijk een eventueel aanwezige toestandswaarde en brengt deze de instantie over naar een onbezette toestand. Vraag Q-c819444ae1a7df1f (open)
Wat betreft foutafhandeling en uitzonderingsbehandeling is reset gedeclareerd als uitzonderingsveilig (exception safe) en met de identifier noexcept[SWS_CORE_01136]. Er worden noch uitzonderingen gegenereerd, noch foutcodes geretourneerd [SWS_CORE_01136].
In het samenspel met andere componenten van de Core-bibliotheek zijn de volgende verwijzingen relevant:
Voor optionele referenties ara::core::Optional<T&> staat een als constexpr gespecificeerde overload van reset ter beschikking, die eveneens noexcept en uitzonderingsveilig is [SWS_CORE_01165].
In tegenstelling tot Optional biedt het type ara::core::Bitset in de header ara/core/bitset.h eveneens reset-functies aan: een parameterloze variant die refereert aan de gemodificeerde bitset [SWS_CORE_01727], alsmede een positiegebonden overload met een Result-retourwaarde en controle op IsoStdOutOfRangeViolation[SWS_CORE_01728].
Deze tekst is automatisch gegenereerd. Alle gegevens zijn gebaseerd op de specificatieomvang van 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]
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4420db92e204Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De template-memberfunctie value_or van de klasse ara::core::Optional conform [SWS_CORE_01134] dient voor het synchroon ophalen van de aanwezige waarde of een beschikbaar gestelde terugvalwaarde. Ze wordt ingevoegd via de header #include "ara/core/optional.h" en is met de signatuur template <typename U> constexpr T value_or (U &&) const &; gedeclareerd als constante lvalue-referentiemethode. Het gedrag volgt de overeenkomstige definitie van std::optional („As per corresponding usage in [optional]”), waardoor bij ingestelde inhoud de waarde T en anders de meegegeven standaardwaarde wordt geretourneerd.
Foutafhandeling en exception-veiligheid
Met betrekking tot foutafhandeling is de functie conform [SWS_CORE_01134] expliciet gespecificeerd als niet uitzonderingsveilig („not exception safe”). Foutcodes, DET- of DEM-meldingen zijn voor deze aanroep niet voorzien. Bij conversie- of kopieeroperaties opgeworpen excepties kunnen zodoende naar buiten propageren.
Samenspel
Binnen ara::core::Optional bestaan complementaire overloads van value_or:
[SWS_CORE_01135] stelt de rvalue-overload template <typename U> constexpr T value_or (U &&) &&; beschikbaar, die eveneens als niet uitzonderingsveilig („not exception safe”) is gedeclareerd en voor tijdelijke objecten geoptimaliseerd verplaatsen mogelijk maakt.
[SWS_CORE_01175] specificeert de overload voor de specialisatie ara::core::Optional<T&> met de signatuur template <typename U> constexpr T value_or (U &&u) const noexcept;, die in tegenstelling tot [SWS_CORE_01134] als uitzonderingsveilig („exception safe”) is aangemerkt.
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is uitsluitend gebaseerd op de specificatiegegevens van AUTOSAR Release R25-11.
template <typename U> constexpr T value_or (U &&) &&;
As per corresponding usage in [optional]
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 1f9eb2809808HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De rvalue-gekwalificeerde lidfunctie value_or van de templateklasse ara::core::Optional wordt beschikbaar gesteld via het headerbestand ara/core/optional.h[SWS_CORE_01135]. Overeenkomstig de verwijzing naar [optional] dient deze om de bevatte waarde synchroon op te vragen of een meegegeven vervangende waarde terug te leveren. Omdat deze aanroep gebonden is aan rvalue-referenties, wordt de bevatte waarde vermoedelijk via move-semantiek overgedragen, mits er een waarde aanwezig is; anders wordt het meegegeven argument geëvalueerd en geconverteerd. Vraag Q-e20f155d58dd0d72 (open)
Interactie en overbelastingen
De functie vult de const-lvalue-overbelasting [SWS_CORE_01134] aan, die hetzelfde fallback-mechanisme aanbiedt voor langlevende resp. niet-tijdelijke instanties. Voor specialisaties op referenties ara::core::Optional<T &> bestaat in afwijking hiervan een als noexcept gedeclareerde signatuur [SWS_CORE_01175], terwijl de algemene overbelasting is bedoeld voor rvalues van waardetypen.
Foutafhandeling en exception-veiligheid
De methode is expliciet gedeclareerd als not exception safe[SWS_CORE_01135]. Specifieke foutcodes, DET- of DEM-meldingen bestaan niet. Interpretatie: Potentiële uitzonderingen zijn vermoedelijk primair afkomstig van move-constructors of conversie-operatoren van de betrokken typen T en U, voor zover er bij de creatie van de retourwaarde fouten optreden. Vraag (open)
Deze tekst is gegenereerd door een AI en is uitsluitend gebaseerd op de specificaties van release R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel