DEENESPTFRRUARHIKOZHNL

class ara::diag::DiagnosticSovdRecordContentElementDataIterator

[SWS_DM_02258] Upstream: RS_Diag_04260

class DiagnosticSovdRecordContentElementDataIterator {...};

Iterator for a DiagnosticSovdRecordContentElementData.

Header-Datei#include "ara/diag/diagnostic_sovd_content_element_data.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

User GuideKI-GENERIERT

Dient dem sequenziellen Durchlaufen und Auslesen von Diagnose-Datenelementen innerhalb einer SOVD-Aufzeichnung.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 656c1be3725e Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient dem sequenziellen Durchlaufen und Auslesen von Diagnose-Datenelementen innerhalb einer SOVD-Aufzeichnung.

Die Klasse ara::diag::DiagnosticSovdRecordContentElementDataIterator dient als Iterator zum sequenziellen Durchlaufen von Diagnose-Datenelementen einer SOVD-Aufzeichnung ([SWS_DM_02258]). Über die Dereferenzierungsoperatoren erhalten Anwendungen Zugriff auf Elemente des Typs DiagnosticSovdContentElementDataWithKey, während das Vorwärtsschreiten mittels Inkrementoperator erfolgt. Als zentrale Randbedingung sind alle Funktionen als noexcept und threadsicher spezifiziert ([SWS_DM_02263]). Interpretation: Die aufrufende Anwendung muss vor jedem Zugriff eigenständig prüfen, ob das Sequenzende erreicht ist, um undefiniertes Verhalten zu verhindern. Frage Q-819b2e03155473ad (offen)

Kontext

Die Klasse ara::diag::DiagnosticSovdRecordContentElementDataIterator ist in der AUTOSAR Adaptive Platform als Iterator für Datenelemente von SOVD-Aufzeichnungen (Service-Oriented Vehicle Diagnostics) spezifiziert ([SWS_DM_02258], AUTOSAR_AP_SWS_Diagnostics §8.60.10 „Class: DiagnosticSovdRecordContentElementDataIterator“). Innerhalb des Diagnose-Subsystems dient sie als standardisierte Zugriffsschnittstelle, um strukturierte Diagnosedaten einer SOVD-Aufzeichnung elementweise zu traversieren.

Zu den primären Interaktionspartnern gehört die anfordernde Diagnoseanwendung, welche Aufzeichnungsdaten verarbeitet, sowie die zugrunde liegende Datenstruktur des Diagnosemoduls. Der Iterator vermittelt den Zugriff auf einzelne Datenelemente des Typs DiagnosticSovdContentElementDataWithKey, indem er über seine Dereferenzierungsoperatoren wahlweise Referenzen oder Zeiger auf diese Datenelemente bereitstellt ([SWS_DM_02259], [SWS_DM_02260]).

Lebenszyklus

Instanzen des Iterators werden typischerweise bei Abfrageoperationen auf SOVD-Inhalten erzeugt. Die Spezifikation definiert für den Iterator keinen eigenständigen öffentlichen Konstruktor im API-Umfang; Instanzen dürften daher vornehmlich durch übergeordnete Container oder Abfragefunktionen bereitgestellt und als Werte kopiert werden. Frage Q-e79bbdff728ef3f2 (offen) Der Iterator verweist auf bestehende Nutzdaten, ohne deren Eigentümerschaft zu übernehmen.

Der Lebenszyklus innerhalb eines Traversierungsvorgangs wird durch Vorwärtsschritte und Positionsvergleiche gesteuert. Über den Präfix-Inkrementoperator operator++ wird der Iterator auf das nachfolgende Datenelement weitergeschaltet ([SWS_DM_02263]). Die Gültigkeit und das Erreichen des Sequenzendes werden über die Gleichheits- und Ungleichheitsoperatoren operator== ([SWS_DM_02261]) und operator!= ([SWS_DM_02262]) gegenüber einem Sentinel- oder End-Iterator ermittelt.

Hinsichtlich der Nebenläufigkeit sind sämtliche Mitgliedsfunktionen der Klasse explizit als threadsicher spezifiziert ([SWS_DM_02259], [SWS_DM_02260], [SWS_DM_02261], [SWS_DM_02262], [SWS_DM_02263]). Dies gestattet parallele Lesezugriffe auf getrennte Iterator-Instanzen in Multithreading-Umgebungen.

Nutzungspfad

Der typische Ablauf bei der Auswertung von SOVD-Record-Inhalten folgt dem klassischen C++-Vorwärtsiterator-Muster:

  • Prüfung der Abbruchbedingung: Vor jedem Zugriff vergleicht die Anwendung die aktuelle Position mit dem End-Iterator mittels operator!= ([SWS_DM_02262]).
  • Elementzugriff: Steht der Iterator auf einem gültigen Element, greift die Anwendung entweder per Referenz über operator* auf das DiagnosticSovdContentElementDataWithKey zu ([SWS_DM_02259]) oder nutzt den Elementzugriffsoperator operator-> ([SWS_DM_02260]), um direkt Methoden oder Felder des Datenelements zu adressieren.
  • Weiterschalten: Mittels operator++ wird der Iterator auf die nächste Position inkrementiert ([SWS_DM_02263]).
Sequenz der Iterator-Verwendung bei SOVD-Record-DatenelementenAnwendungIterator: DiagnosticSovdRecordContentElementDataIteratorElement: DiagnosticSovdContentElementDataWithKeyloopSolange it != endoperator!=(end)truealtDirektzugriff per Zeigeroperator->()DiagnosticSovdContentElementDataWithKey*Referenzzugriffoperator*()DiagnosticSovdContentElementDataWithKey&Nutzdaten lesen / auswertenoperator++()Referenz auf *this

Sequenzdiagramm: Typischer Ablauf der Traversierung von SOVD-Record-Datenelementen. Quellen: [SWS_DM_02259], [SWS_DM_02260], [SWS_DM_02262], [SWS_DM_02263].

Fehlerszenarien

Alle spezifizierten Operationen des Iterators sind als ausnahmesicher (exception safe) und als noexcept deklariert ([SWS_DM_02259], [SWS_DM_02260], [SWS_DM_02261], [SWS_DM_02262], [SWS_DM_02263]). Das bedeutet, dass im regulären Betrieb keine Exceptions geworfen werden und keine Fehlercodes zur Auswertung anfallen.

Interpretation: Als wesentliche Vorbedingung für die Aufrufe von operator*, operator-> und operator++ gilt, dass der Iterator eine gültige Position referenzieren muss und nicht dem End-Iterator entsprechen darf. Frage (offen) Ein Weiterschalten oder Dereferenzieren eines ungültigen Iterators dürfte im C++-Standardkontext zu undefiniertem Verhalten führen. Anwendungen müssen daher das Erreichen des Endes strikt mittels operator!= oder operator== abprüfen ([SWS_DM_02261], [SWS_DM_02262]).

Dieser Klassen-Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11 (Modul diag) und fasst die Anforderungen zu ara::diag::DiagnosticSovdRecordContentElementDataIterator zusammen.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__DiagnosticSovdRecordContentElementDataIterator471 DiagnosticSovdRecordContentElementDataIterator + DiagnosticSovdRecord() + operator*() + operator==()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Dereference operator.

Überladungen DiagnosticSovdRecord 3
auto operator-> () noexcept -> DiagnosticSovdContentElementDataWithKey *; SWS_DM_02260
auto operator!= (DiagnosticSovdRecordContentElementDataIterator const &other) noexcept -> bool; SWS_DM_02262
auto operator++ () noexcept -> DiagnosticSovdRecordContentElementData Iterator &; SWS_DM_02263

Operatoren

operator* function

Dereference operator.

auto operator* () noexcept -> DiagnosticSovdContentElementDataWithKey &;
operator== function

Equal operator.

auto operator== (DiagnosticSovdRecordContentElementDataIterator const &other) noexcept -> bool;

Dokumentation der Methoden

function DiagnosticSovdRecord [SWS_DM_02260] Upstream: RS_Diag_04260

auto operator-> () noexcept -> DiagnosticSovdContentElementDataWithKey *;

Dereference operator.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 76d5b17fb7d6 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Semantik

Der Dereferenzierungsoperator operator-> der Klasse ara::diag::DiagnosticSovdRecordContentElementDataIterator dient dem synchronen Memberzugriff auf ein adressiertes Datenelement ([SWS_DM_02260]). Der Aufruf liefert einen Zeiger vom Typ DiagnosticSovdContentElementDataWithKey* auf das aktuelle Element zurück ([SWS_DM_02260]). Die Schnittstelle ist im Header ara/diag/diagnostic_sovd_content_element_data.h definiert ([SWS_DM_02260]).

Nebenläufigkeit und Randbedingungen

Die Funktion ist als noexcept ausgewiesen, garantiert Ausnahmesicherheit (exception safe) und ist als thread-safe spezifiziert ([SWS_DM_02260]). Ein spezifischer Fehlercode existiert für diese Elementfunktion nicht. Interpretation: Vor dem Aufruf muss der Iterator auf ein gültiges Datenelement zeigen und darf nicht dem Bereichsende entsprechen, da das Dereferenzieren eines ungültigen Iterators zu undefiniertem Verhalten führen dürfte. Frage Q-735b580a0b2c8330 (offen)

Zusammenspiel

Der Iterator wird im Rahmen der Verarbeitung von Record-Inhalten zusammen mit weiteren Funktionen genutzt:

  • Er kann über Suchoperationen wie Find auf DiagnosticSovdRecordContentElementDataView bezogen werden ([SWS_DM_02285]).
  • Die Schleifensteuerung erfolgt typischerweise über den Präfix-Inkrementoperator operator++ ([SWS_DM_02263]) sowie den Ungleichheitsoperator operator!= ([SWS_DM_02262]) im Abgleich mit dem End-Iterator aus RecordEnd ([SWS_DM_02360]).
  • Für schreibgeschützte Kontexte steht DiagnosticSovdRecordContentElementDataConstIterator bereit, dessen operator-> einen Zeiger auf const DiagnosticSovdContentElementDataWithKey zurückgibt ([SWS_DM_02266]).

Dieser Nutzungshinweis wurde automatisiert erstellt und basiert auf den AUTOSAR-Spezifikationen.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/diagnostic_sovd_content_element_data.h"
Scopeclass ara::diag::DiagnosticSovdRecordContentElementDataIterator
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
DiagnosticSovdContent Return a pointer to the DiagnosticSovdAbstractContentDataWith ElementDataWithKey * Key

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

Record
AUTOSAR/AP/record/SWS_DM_02260
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02260@rel:R25-11#c2b0a45d
Content hash
c2b0a45d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02260
Status: valid/unmigrated Version: rel:R25-11#c2b0a45d Versionshistorie & Revisions (1 transition)
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_DM_02260@rel:R25-11#c2b0a45d
Point-in-Time History:
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

function DiagnosticSovdRecord [SWS_DM_02262] Upstream: RS_Diag_04260

auto operator!= (DiagnosticSovdRecordContentElementDataIterator const &other) noexcept -> bool;

Not equal operator.

Header-Datei#include "ara/diag/diagnostic_sovd_content_element_data.h"
Scopeclass ara::diag::DiagnosticSovdRecordContentElementDataIterator
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
otherThe other iterator to test equality with

Rückgabewert

TypBeschreibung
boolTrue if operator are equals, false otherwise

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

Record
AUTOSAR/AP/record/SWS_DM_02262
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02262@rel:R25-11#9e75e955
Content hash
9e75e955
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02262
Status: valid/unmigrated Version: rel:R25-11#9e75e955 Versionshistorie & Revisions (1 transition)
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_DM_02262@rel:R25-11#9e75e955
Point-in-Time History:
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

function DiagnosticSovdRecord [SWS_DM_02263] Upstream: RS_Diag_04260

auto operator++ () noexcept -> DiagnosticSovdRecordContentElementData Iterator &;

Increment operator.

Header-Datei#include "ara/diag/diagnostic_sovd_content_element_data.h"
Scopeclass ara::diag::DiagnosticSovdRecordContentElementDataIterator
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
DiagnosticSovdRecordContentElementDataIteratorReference to the incremented iterator

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

Record
AUTOSAR/AP/record/SWS_DM_02263
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02263@rel:R25-11#eceb251b
Content hash
eceb251b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02263
Status: valid/unmigrated Version: rel:R25-11#eceb251b Versionshistorie & Revisions (1 transition)
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_DM_02263@rel:R25-11#eceb251b
Point-in-Time History:
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

function operator* [SWS_DM_02259] Upstream: RS_Diag_04260

auto operator* () noexcept -> DiagnosticSovdContentElementDataWithKey &;

Dereference operator.

Header-Datei#include "ara/diag/diagnostic_sovd_content_element_data.h"
Scopeclass ara::diag::DiagnosticSovdRecordContentElementDataIterator
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
DiagnosticSovdContentElementDataWithKeyReturn a view on the content element

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

Record
AUTOSAR/AP/record/SWS_DM_02259
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02259@rel:R25-11#0d7599c2
Content hash
0d7599c2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02259
Status: valid/unmigrated Version: rel:R25-11#0d7599c2 Versionshistorie & Revisions (1 transition)
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_DM_02259@rel:R25-11#0d7599c2
Point-in-Time History:
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

function operator== [SWS_DM_02261] Upstream: RS_Diag_04260

auto operator== (DiagnosticSovdRecordContentElementDataIterator const &other) noexcept -> bool;

Equal operator.

Header-Datei#include "ara/diag/diagnostic_sovd_content_element_data.h"
Scopeclass ara::diag::DiagnosticSovdRecordContentElementDataIterator
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
otherThe other iterator to test equality with

Rückgabewert

TypBeschreibung
boolTrue if operator are equals, false otherwise

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

Record
AUTOSAR/AP/record/SWS_DM_02261
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02261@rel:R25-11#904f6ffe
Content hash
904f6ffe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02261
Status: valid/unmigrated Version: rel:R25-11#904f6ffe Versionshistorie & Revisions (1 transition)
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_DM_02261@rel:R25-11#904f6ffe
Point-in-Time History:
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