Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
[AP_SWS_SHWA_00701] tekst nog niet geïmporteerdUpstream: RS_SHWA_00017
template <int Dimensions = 1> class Id final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Dient als multidimensionale index-identificator voor het adresseren van hardware- en geheugenbronnen.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 5df852eb2decHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Dient als multidimensionale index-identificator voor het adresseren van hardware- en geheugenbronnen.
De template-klasse ara::shwa::Id kapselt multidimensionale identificatoren in de module shwa in en dwingt een gecontroleerde instantiëring af via statische factory-methoden zoals Create[AP_SWS_SHWA_00707]. Als kopieerbaar en verplaatsbaar waarde-object biedt zij toegang tot individuele dimensie-indices via Get en Set[AP_SWS_SHWA_00710]. Aangezien lees- en schrijftoegangen evenals multidimensionale factories niet thread-safe zijn, is de aanroepende applicatie verantwoordelijk voor de noodzakelijke synchronisatie.
Context
De template-klasse ara::shwa::Id representeert binnen de module shwa een multidimensionale identificatie of indexering voor shared-memory- respectievelijk hardware-versnellerstructuren. Zij kapselt coördinaten respectievelijk dimensie-indices in, die via statische factory-methoden geïnstantieerd en vervolgens opgevraagd of gewijzigd kunnen worden. De klasse is gedeclareerd als final en parametriseert het aantal dimensies via de template-parameter Dimensions met de standaardwaarde 1. Als interactiepartners treden typisch applicatiecomponenten op die gestructureerde toegangen tot versnellerbuffers of geheugenbronnen moeten adresseren. Daarbij dient een instantie-object van ara::shwa::Id als compact waarde-object voor dimensiegerelateerde adressering.
Levenscyclus
De instantiëring van ara::shwa::Id is onderworpen aan strikte vereisten: de standaardconstructor is expliciet verwijderd [AP_SWS_SHWA_00702]. Een directe, ongeïnitialiseerde objectcreatie is daarmee uitgesloten. In plaats daarvan vindt de creatie gecontroleerd plaats via statische factory-functies Create, die het object ingekapseld in een ara::core::Result retourneren [AP_SWS_SHWA_00707], [AP_SWS_SHWA_00708], [AP_SWS_SHWA_00709]. Afhankelijk van de vereiste dimensionaliteit zijn er overloads beschikbaar voor één dimensie [AP_SWS_SHWA_00707], twee dimensies [AP_SWS_SHWA_00708] of drie dimensies [AP_SWS_SHWA_00709].
Wat eigendomsverhoudingen betreft gedraagt ara::shwa::Id zich als een regulier waarde-object. Het implementeert zowel de kopieerconstructor [AP_SWS_SHWA_00703] als de kopieertoewijzingsoperator [AP_SWS_SHWA_00704] als gestandaardiseerd (default) en uitzonderingsveilig (noexcept). Tevens staan de move-constructor [AP_SWS_SHWA_00705] en de move-toewijzingsoperator [AP_SWS_SHWA_00706] met noexcept ter beschikking. Instanties kunnen zodoende efficiënt in containers worden opgeslagen, per waarde worden doorgegeven of tussen programmadelen worden verplaatst. Bijzondere aandacht vereist de thread-safety: terwijl de eendimensionale factory-methode als thread-safe is gespecificeerd [AP_SWS_SHWA_00707], zijn de twee- en driedimensionale factory-methoden expliciet als niet thread-safe aangemerkt [AP_SWS_SHWA_00708], [AP_SWS_SHWA_00709]. Bij parallelle initialisaties van multidimensionale indices moeten aanroepers passende synchronisatiemaatregelen treffen.
Gebruikspad
Het typische gebruiksverloop omvat de gecontroleerde instantiëring via de passende factory-aanroep, de controle van het Result-object en aansluitende lees- en schrijfoperaties op de afzonderlijke dimensies. Eerst roept de applicatie Create aan met de gewenste dimensiegrenzen respectievelijk indexwaarden. Na succesvolle teruggave van een ara::core::Result<Id> wordt de daarin opgenomen waarde uitgepakt. Via de constante methode Get kan de indexwaarde voor een bepaalde dimensie worden opgevraagd [AP_SWS_SHWA_00710]. Desgewenst kan de waarde van een bepaalde dimensie via Set achteraf worden gewijzigd [AP_SWS_SHWA_00711]. Beide methoden (Get en Set) zijn geclassificeerd als niet thread-safe; gelijktijdige toegangen tot dezelfde instantie vanuit meerdere threads moeten extern worden gesynchroniseerd.
Bij de creatie via de statische Create-methoden kunnen runtimefouten optreden. Mislukt de instantiëring, dan levert de factory-methode een ara::core::Result op die de foutcode ShwaErrorCode::kRuntime bevat [AP_SWS_SHWA_00707], [AP_SWS_SHWA_00708], [AP_SWS_SHWA_00709]. Aanroepers moeten daarom dwingend de retourwaarde door middel van HasValue() controleren voordat de instantie wordt benaderd. Alle Create-functies garanderen rollback-semantiek en zijn als uitzonderingsveilig (noexcept) gedeclareerd.
Tijdens bedrijf dient er bij de methoden Get en Set op te worden gelet dat deze volgens de specificatie niet uitzonderingsveilig zijn (not exception safe) en niet thread-safe werken [AP_SWS_SHWA_00710], [AP_SWS_SHWA_00711]. Interpretatie: het meegeven van ontoelaatbare dimensiewaarden buiten het geldige waardebereik leidt vermoedelijk tot ongedefinieerd gedrag of uitzonderingen, aangezien er voor foutieve parameters bij deze methoden geen afzonderlijke foutcodes zijn gedefinieerd. Vraag Q-6983f5f27702e6e8 (open) Aanroepers moeten vóór de aanroep waarborgen dat het argument dimension binnen de geldige grenzen van de instantie ligt.
Deze handleiding is gegenereerd door een AI-assistent op basis van de AUTOSAR-specificatie voor R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel