DEENESPTFRRUARHIKOZHNL

struct ara::core::in_place_index_t

[SWS_CORE_04031] Upstream: RS_AP_00130

template <std::size_t Index> struct in_place_index_t {...};

Denote an index-distinguishing operation to be performed in-place. An instance of this type can be passed to certain constructors of ara::core::Variant to denote the intention that construction of the contained type shall be done in-place, i.e. without any copying taking place.

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

User GuideAI-GEGENEREERD

Dient als tagtype voor de directe in-place constructie van een waarde in een Variant aan de hand van zijn index.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 39c809af4202 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient als tagtype voor de directe in-place constructie van een waarde in een Variant aan de hand van zijn index.

De class template ara::core::in_place_index_t dient als tag-type om in-place-constructies op een specifieke index binnen ara::core::Variant aan te duiden, om onnodige kopieer- of verplaatsingsacties van de doelwaarde te voorkomen. Instanties worden gericht doorgegeven aan passende Variant-constructors, waarbij het aanmaken via de default-constructor uit ara/core/utility.h plaatsvindt [SWS_CORE_04032]. Omdat de constructor als explicit en noexcept is gedefinieerd, zijn impliciete typeconversies uitgesloten en is de instantiëring gegarandeerd uitzonderingsveilig [SWS_CORE_04032].

Context

De class template ara::core::in_place_index_t is een hulpstructuur in de module core van het AUTOSAR Adaptive Platform en wordt via het headerbestand ara/core/utility.h beschikbaar gesteld [SWS_CORE_04032]. Haar functionele rol bestaat erin te dienen als uniek tag-type voor in-place-bewerkingen die via een numerieke index worden onderscheiden. Een exemplaar van dit type wordt doorgegeven aan specifieke constructors van ara::core::Variant om de intentie aan te geven dat de constructie van het ingekapselde type direct ter plekke (“in-place”) moet plaatsvinden, zonder dat kopieer- of verplaatsingsacties worden uitgevoerd.

In de samenwerking tussen aanroeper en het somtype ara::core::Variant vervult ara::core::in_place_index_t de functie van tag-dispatching. Interpretatie: Het op index gebaseerde onderscheid is vermoedelijk met name relevant voor Variant-instanties die meerdere alternatieven van hetzelfde type bevatten; in dat geval zou een selectie louter op basis van het datatype dubbelzinnig zijn, zodat de adressering via de template-parameter Index het exacte type-alternatief in het typepakket bepaalt. Vraag Q-fc429a7c9e7e9362 (open)

Levenscyclus

De levenscyclus van ara::core::in_place_index_t is elementair en vrij van complexe toestandsovergangen. Het aanmaken vindt plaats via de default-constructor explicit in_place_index_t() noexcept = default; [SWS_CORE_04032]. Door de aanduiding als explicit wordt een impliciete typeconversie verhinderd, wat een expliciete en typestrikte instantiëring afdwingt [SWS_CORE_04032].

Aangezien ara::core::in_place_index_t fungeert als pure indicator en geen interne attributen of dynamische resources bezit, is het object volledig toestandloos. De vernietiging is triviaal en brengt geen neveneffecten met zich mee. Met het oog op gelijktijdigheid is de structuur inherent thread-safe: aangezien er geen veranderlijke toestanden bestaan, kunnen instanties zonder synchronisatie-overhead over thread-grenzen heen worden gebruikt.

Gebruikspad

Het typische verloop voor het gebruik van ara::core::in_place_index_t is onderverdeeld in de volgende stappen:

  • Indexbepaling: De aanroeper bepaalt de numerieke template-parameter Index, die het gewenste alternatief binnen de ara::core::Variant vertegenwoordigt.
  • Tag-instantiëring: Een instantie van ara::core::in_place_index_t<Index> wordt via de default-constructor aangemaakt [SWS_CORE_04032]. Interpretatie: In de praktijk zal het aanmaken bij voorkeur als tijdelijk argument direct in de aanroep plaatsvinden. Vraag Q-7c6292c2e97347b0 (open)
  • Doorgifte aan constructor: De tag-instantie wordt als eerste argument doorgegeven aan de constructor van ara::core::Variant, gevolgd door de constructorargumenten voor het op deze positie beheerde doeltype.
  • Directe initialisatie: ara::core::Variant construeert het doelobject direct in het gereedgestelde geheugengebied zonder vooraf tijdelijke kopieën aan te maken.
In-place constructie van een Variant-waarde via in_place_index_tAnwenderin_place_index_t<Index>VariantZielobjektexplicit in_place_index_t()Tag-InstanzVariant(in_place_index_t<Index>, args...)Index oplossenIn-Place-Konstruktion(args...)Objekt instanziiertInitialisierte Variant-Instanz

Sequentiediagram: Typisch verloop van de in-place-constructie van een Variant-waarde via ara::core::in_place_index_t. Bronnen: [SWS_CORE_04032]

Foutscenario's

Wat betreft fouttolerantie onderscheidt ara::core::in_place_index_t zich door maximale robuustheid. De default-constructor is gespecificeerd met noexcept en geldt als uitzonderingsveilig (“exception safe”) [SWS_CORE_04032]. Er bestaan noch foutcodes, noch gedefinieerde fouttoestanden voor deze structuur.

Foutief gebruik bij impliciete conversies wordt door de specificatie als explicit tijdens compilatietijd afgewezen [SWS_CORE_04032]. Mocht er tijdens de uitvoering van de in-place-constructor van ara::core::Variant een uitzondering worden gegenereerd, dan is deze niet afkomstig van ara::core::in_place_index_t, maar vindt deze zijn oorzaak in het foutgedrag van het geconstrueerde doeltype.

Deze handleiding is gegenereerd door een AI op basis van de AUTOSAR-specificatie R25-11.

UML-klassendiagram

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

G nara__core__in_place_index_t938 «struct» in_place_index_t + in_place_index_t()

Constructors en destructor

Default constructor

explicit in_place_index_t () noexcept=default;

Documentatie van de methoden

functie in_place_index_t [SWS_CORE_04032] Upstream: RS_AP_00130

explicit in_place_index_t () noexcept=default;

Default constructor

Header-Datei#include "ara/core/utility.h"
Scopestruct ara::core::in_place_index_t
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_04032
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_04032@rel:R25-11#5be9a310
Content hash
5be9a310
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_04032
Status: valid/unmigrated Version: rel:R25-11#ed0aabbb 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_04032@rel:R25-11#ed0aabbb
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8aa0e9952026-09-30
  • R19-11rel:R19-11#1dfe84832026-10-14
  • R20-11rel:R20-11#98f310882026-10-14
  • R21-11rel:R21-11#98f310882026-10-14
  • R22-11rel:R22-11#b23504bd2026-10-14
  • R23-11rel:R23-11#b523cc942026-10-14
  • R24-11rel:R24-11#a52ebef82026-10-14
  • R25-11rel:R25-11#ed0aabbb2026-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