Bietet schreibgeschützten, thread-sicheren Lesezugriff auf Record-Elemente diagnostischer SOVD-Daten.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5db4cee55bd3HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Bietet schreibgeschützten, thread-sicheren Lesezugriff auf Record-Elemente diagnostischer SOVD-Daten.
Die Klasse bietet eine unveränderliche Ansicht auf strukturierte SOVD-Record-Inhaltselemente zur effizienten und schreibgeschützten Auswertung in Diagnoseanwendungen ([SWS_DM_02295]). Anwender können den Fehlerstatus über Ergebnisobjekte prüfen, Datensatzelemente gezielt per Schlüssel adressieren oder den gesamten Inhalt sequenziell mittels konstanter Iteratoren durchlaufen ([SWS_DM_02300]). Sämtliche Schnittstellen sind vollständig thread-sicher und als ausnahmesicher deklariert, setzen jedoch voraus, dass das referenzierte Inhaltselement dem erwarteten Record-Typ entspricht.
Kontext
Die Klasse ara::diag::DiagnosticSovdRecordContentElementDataConstView definiert eine unveränderliche Ansicht (Const View) auf diagnostische SOVD-Inhaltselemente des Datensatztyps Record ([SWS_DM_02295], AUTOSAR_AP_SWS_Diagnostics §8.60.9 „Class: DiagnosticSovdRecordContentElementDataConstView“). Die Schnittstelle wird über den Header #include "ara/diag/diagnostic_sovd_content_element_data.h" bereitgestellt ([SWS_DM_02298]). Sie ermöglicht Diagnose-Anwendungen das gezielte, strukturierte Auslesen von hierarchisch gegliederten Datenfeldern eines SOVD-Inhaltselements, ohne Kopien der Nutzdaten anlegen oder modifizierende Operationen durchführen zu müssen.
Zu den primären Interaktionspartnern gehören die aufrufende Diagnosekomponente, das zugrunde liegende Objekt vom Typ DiagnosticSovdContentElementData sowie die darüber adressierten Einzelelemente, welche als konstante Referenzverpackung std::reference_wrapper<DiagnosticSovdContentElementData const> oder über konstante Iteratoren bereitgestellt werden ([SWS_DM_02300], [SWS_DM_02301]).
Lebenszyklus
Als Ansichtstyp besitzt ara::diag::DiagnosticSovdRecordContentElementDataConstView vermutlich keine eigene Inhaberschaft (Ownership) der zugrunde liegenden Nutzdaten; die Gültigkeit der Ansicht dürfte an die Lebensdauer des referenzierten DiagnosticSovdContentElementData-Objekts gebunden sein. Frage Q-4aca4f6f723cd3f5 (offen) Die Zerstörung der View-Instanz gibt lediglich den Ansichtsdeskriptor frei, lässt aber die zugrunde liegende Datenstruktur unberührt.
Hinsichtlich der Nebenläufigkeit sind sämtliche Elementfunktionen der Klasse explizit als thread-sicher und ausnahmesicher (noexcept) spezifiziert ([SWS_DM_02296], [SWS_DM_02298]). Mehrere Threads können somit parallel und synchronisationsfrei lesend auf die Schnittstelle zugreifen, sofern die referenzierte Datenstruktur während des Zugriffs nicht nebenläufig verändert wird.
Nutzungspfad
Ein typischer Ablauf zur Auswertung eines Record-Elements gliedert sich in Fehlerüberprüfung, Dimensionsprüfung und Elementzugriff:
Fehlerzustand prüfen: Vor der Verarbeitung wird über HasError() validiert, ob der Inhalt fehlerfrei vorliegt ([SWS_DM_02296]).
Gezielter Elementzugriff: Vor dem Zugriff auf ein benanntes Feld kann mittels HasContentElement() das Vorhandensein eines Schlüssels geprüft werden ([SWS_DM_02305]). Der wahlfreie Zugriff erfolgt anschließend über operator[] mit Übergabe eines ara::core::StringView, welcher eine Referenz auf das Unterelement zurückgibt ([SWS_DM_02300]). Alternativ liefert Find() einen Iterator auf das gefundene Element ([SWS_DM_02306]).
Die Klasse nutzt zur Fehlerbehandlung den Rückgabetyp ara::core::Result anstelle von C++-Ausnahmen:
Interner Fehlerzustand: Weist das zugrunde liegende SOVD-Inhaltselement einen Fehler auf, gibt HasError() ein ara::core::Result<void> zurück, das den Fehlercode ara::diag::DiagSovdErrc enthält ([SWS_DM_02296]).
Fehlender Schlüssel oder Typkonflikt: Beim Zugriff über operator[] oder der Prüfung mit HasContentElement() liefert der Rückgabewert ein Fehler-Result, falls das DiagnosticSovdContentElementData nicht vom Typ RecordContentElementData oder ContentData ist oder der angegebene Schlüssel nicht existiert ([SWS_DM_02300], [SWS_DM_02305]).
Returns the begin operator of a RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
auto Begin () noexcept -> DiagnosticSovdRecordContentElementDataConst Iterator;
Returns the begin operator of a RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
auto CBegin () noexcept -> DiagnosticSovdRecordContentElementDataConst Iterator;
Returns if the RecordContentElementData contains an element with the specified key. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
Returns the count of elements in the RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
auto Begin () noexcept -> DiagnosticSovdRecordContentElementDataConst Iterator;
Returns the begin operator of a RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
auto CBegin () noexcept -> DiagnosticSovdRecordContentElementDataConst Iterator;
Returns the begin operator of a RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
Returns if the RecordContentElementData contains an element with the specified key. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
boolean indicating if the elements is found or an error if Diagnostic SovdContentElementData is not of type RecordContentElement Data or ContentData OR the key is not found
Request a governed re-review of this record. The record is not changed immediately.
Returns the count of elements in the RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
reference to the content element or an error if DiagnosticSovdContentElementData is not of type RecordContentElementData or ContentData OR the key is not found
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-medium· 2026-10-13