DEENESPTFRRUARHIKOZHNL

class ara::diag::DiagnosticSovdRecordContentElementDataConstIterator

[SWS_DM_02264] Upstream: RS_Diag_04260

class DiagnosticSovdRecordContentElementDataConstIterator {...};

Const 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

Ermöglicht den schreibgeschützten, thread-sicheren sequenziellen Zugriff auf diagnostische SOVD-Record-Inhaltselemente.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 3164759db88e Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht den schreibgeschützten, thread-sicheren sequenziellen Zugriff auf diagnostische SOVD-Record-Inhaltselemente.

Die Klasse ara::diag::DiagnosticSovdRecordContentElementDataConstIterator fungiert gemäß [SWS_DM_02264] als konstanter Vorwärts-Iterator zur schreibgeschützten Traversierung von SOVD-Record-Inhaltselementen. Er bietet Operatoren für Gleichheitsprüfungen, Weiterschalten sowie die Dereferenzierung auf DiagnosticSovdContentElementDataWithKey ([SWS_DM_02265]). Da alle Operatoren ausnahmesicher und thread-safe nach noexcept ausgeführt sind, liegt die Verantwortung beim Aufrufer, keine ungültigen Iteratoren zu dereferenzieren.

Kontext

Die Klasse ara::diag::DiagnosticSovdRecordContentElementDataConstIterator wird durch [SWS_DM_02264] in AUTOSAR_AP_SWS_Diagnostics §8.60.8 definiert. Sie dient als konstanter Vorwärts- bzw. Eingabe-Iterator für Elemente des Typs DiagnosticSovdRecordContentElementData, wie in AUTOSAR_AP_SWS_Diagnostics §8.60.8 beschrieben. Als Interaktionspartner fungieren dabei diagnostische Anwendungen des Moduls diag, die Sammlungen von SOVD-Datenelementen („Service-Oriented Vehicle Diagnostics“) schreibgeschützt durchlaufen, sowie die referenzierten Elemente des Typs DiagnosticSovdContentElementDataWithKey, auf die der Iterator während der Dereferenzierung Zugriff gewährt ([SWS_DM_02265], [SWS_DM_02266]).

Lebenszyklus

Der Lebenszyklus eines Iterators beginnt typischerweise mit dem Abruf einer Iterator-Instanz über die Schnittstelle einer zugrundeliegenden Datenstruktur für SOVD-Record-Elemente (Interpretation: Container besitzen vermutlich Methoden wie cbegin() und cend(), die gültige Iteratorexemplare bereitstellen). Frage Q-9c5e4d32ae82e7cf (offen) Da es sich um einen reinen Wert- bzw. Zeiger-Wrapper ohne dynamische Ressourcenverwaltung handelt, besitzt der Iterator keinen expliziten Zerstörungsmechanismus und kann kopiert oder verschoben werden. Die Spezifikation sichert für alle Operationen des Iterators Ausnahmesicherheit (exception safe) sowie vollständige Thread-Sicherheit (thread-safe) zu ([SWS_DM_02265], [SWS_DM_02266], [SWS_DM_02267], [SWS_DM_02268], [SWS_DM_02269]). Hinsichtlich der Nebenläufigkeit bedeutet dies, dass parallele Lesezugriffe auf denselben Iterator oder voneinander unabhängige Instanzen ohne zusätzliche Synchronisationsmaßnahmen durchgeführt werden können.

Nutzungspfad

Der typische Nutzungspfad umfasst die iterative Traversierung einer Menge von SOVD-Elementdaten innerhalb diagnostischer Verarbeitungsroutinen. Ein Aufrufer prüft zunächst über den Ungleichheitsoperator operator!= ([SWS_DM_02268]) oder den Gleichheitsoperator operator== ([SWS_DM_02267]), ob das Ende der Sequenz erreicht wurde. Solange der Iterator gültig ist, greift die Anwendung lesend auf das referenzierte Element zu: Der Dereferenzierungsoperator operator* liefert eine konstante Referenz auf DiagnosticSovdContentElementDataWithKey ([SWS_DM_02265]), während der Pfeiloperator operator-> einen Zeiger auf das konstante Objekt zurückgibt ([SWS_DM_02266]). Anschließend rückt der Präfix-Inkrementoperator operator++ den Iterator um eine Position weiter und gibt eine Referenz auf den inkrementierten Iterator zurück ([SWS_DM_02269]).

Traversierung mit DiagnosticSovdRecordContentElementDataConstIteratorAnwendungIterator: DiagnosticSovdRecordContentElementDataConstIteratorElement: DiagnosticSovdContentElementDataWithKeyUse Case: Prüfung auf Sequenzendeoperator!=(endIterator)bool (true = noch Elemente vorhanden)loopsolange Iterator != endIteratorUse Case: Schreibgeschützter Datenzugriffoperator*() oder operator->()DiagnosticSovdContentElementDataWithKey const& / const*Datenfelder auslesenUse Case: Weiterschaltenoperator++()Referenz auf inkrementierten Iteratoroperator!=(endIterator)bool

Sequenzdiagramm: Typischer Ablauf der sequenziellen Traversierung von SOVD-Record-Inhaltselementen mittels des Const-Iterators. Quellen: [SWS_DM_02265], [SWS_DM_02266], [SWS_DM_02267], [SWS_DM_02268], [SWS_DM_02269]

Fehlerszenarien

Sämtliche Elementfunktionen von ara::diag::DiagnosticSovdRecordContentElementDataConstIterator sind mit dem Spezifizierer noexcept deklariert ([SWS_DM_02265], [SWS_DM_02266], [SWS_DM_02267], [SWS_DM_02268], [SWS_DM_02269]). Weder operator* noch operator-> oder die Vergleichsoperatoren werfen C++-Ausnahmen oder geben ara::core::Result-Fehlerstrukturen zurück. Die Vorbedingung für einen fehlerfreien Aufruf von operator*, operator-> und operator++ ist die Gültigkeit des Iterators: Die Dereferenzierung oder das Weiterschalten eines End-Iterators (Past-the-End) dürfte zu undefiniertem Verhalten führen (Interpretation: die Schnittstellendefinition enthält keine Laufzeitprüfungen für ungültige Dereferenzierungen). Frage Q-e26c9aa50597bf18 (offen) Anwender müssen daher sicherstellen, dass vor dem Zugriff stets ein Abbruchvergleich gegen den End-Iterator erfolgt.

Dieser Leitfaden basiert ausschließlich auf den Spezifikationsvorgaben aus AUTOSAR AP R25-11.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__DiagnosticSovdRecordContentElementDataConstIterator644 DiagnosticSovdRecordContentElementDataConstIterator + DiagnosticSovdRecord() + operator*() + operator==()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Dereference operator.

Überladungen DiagnosticSovdRecord 3
auto operator-> () noexcept -> DiagnosticSovdContentElementDataWithKey const *; SWS_DM_02266
auto operator!= (DiagnosticSovdRecordContentElementDataConstIterator const &other) noexcept -> bool; SWS_DM_02268
auto operator++ () noexcept -> DiagnosticSovdRecordContentElementData ConstIterator &; SWS_DM_02269

Operatoren

operator* function

Dereference operator.

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

Equal operator.

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

Dokumentation der Methoden

function DiagnosticSovdRecord [SWS_DM_02266] Upstream: RS_Diag_04260

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

Dereference operator.

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

Verwendung

Die Elementfunktion operator-> der Klasse ara::diag::DiagnosticSovdRecordContentElementDataConstIterator ([SWS_DM_02264]) dient als Dereferenzierungsoperator für den schreibgeschützten Zugriff auf SOVD-Datenelemente ([SWS_DM_02266], AUTOSAR_AP_SWS_Diagnostics §8.60.8.1.1.4 „operator->“). Der Aufruf erfolgt parameterlos und synchron über den Header ara/diag/diagnostic_sovd_content_element_data.h. Als Rückgabewert liefert die Funktion einen konstanten Zeiger vom Typ DiagnosticSovdContentElementDataWithKey const * auf die referenzierten Elementdaten mit Schlüssel ([SWS_DM_02266]).

Fehlerbehandlung

Die Funktion ist mit noexcept deklariert und spezifikatorisch als ausnahmesicher (exception safe) klassifiziert ([SWS_DM_02266]). Es werden weder C++-Exceptions ausgelöst noch Fehlercodes über ara::core::Result zurückgemeldet. Interpretation: Die Dereferenzierung eines nicht initialisierten, ungültigen oder bereits am Bereichsende stehenden Iterators führt vermutlich zu undefiniertem Verhalten, weshalb der Aufrufer die Gültigkeit vor dem Operatoraufruf sicherstellen muss. Frage Q-4c149c4fb2d68f33 (offen)

Nebenläufigkeit und Einschränkungen

Gemäß Spezifikation ist der Zugriff als threadsicher (thread-safe) definiert ([SWS_DM_02266]). Da die Operation ausschließlich Lesezugriff auf das zugrunde liegende Element gewährt, können mehrere Threads dieselben Daten nebenläufig über konstante Iteratoren dereferenzieren.

Zusammenspiel

Die Funktion arbeitet eng mit weiteren Schnittstellen des Iterators und der Diagnosedatenstrukturen zusammen:

  • Navigation und Vergleich: Bei der Iteration über Record-Inhalte wird der Iterator typischerweise mittels operator++ ([SWS_DM_02269]) weitergeschaltet und über operator!= ([SWS_DM_02268]) gegen End-Iteratoren abgeglichen.
  • Bereichsgrenzen: Das zugehörige konstante Bereichsende kann über RecordCEnd ([SWS_DM_02362]) der Klasse DiagnosticSovdContentElementData ermittelt werden.
  • Nicht-konstante Alternative: Für modifizierende Zugriffe steht das Pendant operator-> der Klasse DiagnosticSovdRecordContentElementDataIterator ([SWS_DM_02260]) zur Verfügung, welcher über Funktionen wie Find ([SWS_DM_02285]) oder RecordEnd ([SWS_DM_02360]) bezogen werden kann.

Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Implementer's Guide folgt (Komplexität I2)

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

Rückgabewert

TypBeschreibung
DiagnosticSovdContentElementDataWithKeyReturn a pointer to the DiagnosticSovdAbstractContentDataWith Key const *

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

Record
AUTOSAR/AP/record/SWS_DM_02266
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02266@rel:R25-11#4fa0d923
Content hash
4fa0d923
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02266
Status: valid/unmigrated Version: rel:R25-11#4fa0d923 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_02266@rel:R25-11#4fa0d923
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_02268] Upstream: RS_Diag_04260

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

Not equal operator.

Header-Datei#include "ara/diag/diagnostic_sovd_content_element_data.h"
Scopeclass ara::diag::DiagnosticSovdRecordContentElementDataConstIterator
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_02268
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02268@rel:R25-11#069b7496
Content hash
069b7496
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02268
Status: valid/unmigrated Version: rel:R25-11#069b7496 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_02268@rel:R25-11#069b7496
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_02269] Upstream: RS_Diag_04260

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

Increment operator.

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

Rückgabewert

TypBeschreibung
DiagnosticSovdRecordContentElementDataConstIteratorReference to the incremented iterator

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

Record
AUTOSAR/AP/record/SWS_DM_02269
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02269@rel:R25-11#56e88cdf
Content hash
56e88cdf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02269
Status: valid/unmigrated Version: rel:R25-11#56e88cdf 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_02269@rel:R25-11#56e88cdf
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_02265] Upstream: RS_Diag_04260

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

Dereference operator.

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

Rückgabewert

TypBeschreibung
DiagnosticSovdContentElementDataWithKeyconstReturn 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_02265
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02265@rel:R25-11#3f32ca4d
Content hash
3f32ca4d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02265
Status: valid/unmigrated Version: rel:R25-11#3f32ca4d 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_02265@rel:R25-11#3f32ca4d
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_02267] Upstream: RS_Diag_04260

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

Equal operator.

Header-Datei#include "ara/diag/diagnostic_sovd_content_element_data.h"
Scopeclass ara::diag::DiagnosticSovdRecordContentElementDataConstIterator
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_02267
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02267@rel:R25-11#d38e7bd6
Content hash
d38e7bd6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02267
Status: valid/unmigrated Version: rel:R25-11#d38e7bd6 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_02267@rel:R25-11#d38e7bd6
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