DEENESPTFRRUARHIKOZHNL

class ara::diag::DiagnosticSovdArrayContentElementDataConstIterator

[SWS_DM_02221] Upstream: RS_Diag_04260

class DiagnosticSovdArrayContentElementDataConstIterator {...};

Const iterator for a DiagnosticSovdArrayContentElementData.

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 das schreibgeschützte, schrittweise Durchlaufen von SOVD-Array-Elementen in Diagnoseanwendungen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7db6b86aff46 Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht das schreibgeschützte, schrittweise Durchlaufen von SOVD-Array-Elementen in Diagnoseanwendungen.

Die Klasse ara::diag::DiagnosticSovdArrayContentElementDataConstIterator stellt einen schreibgeschützten Vorwärtsiterator für Array-Elemente im SOVD-Diagnosekontext bereit ([SWS_DM_02221]). Anwendungen nutzen ihn, um Datenstrukturen vom Typ DiagnosticSovdContentElementData über Vergleichs-, Dereferenzierungs- und Inkrementoperatoren schrittweise zu durchlaufen ([SWS_DM_02222]). Da sämtliche Operationen als noexcept spezifiziert sind, obliegt die Prüfung der Iterationsgrenzen dem Aufrufer, um undefiniertes Verhalten bei ungültigen Positionen zu vermeiden.

Kontext

Die Klasse ara::diag::DiagnosticSovdArrayContentElementDataConstIterator ist Bestandteil des Diagnosemoduls (diag) der AUTOSAR Adaptive Platform ([SWS_DM_02221], AUTOSAR_AP_SWS_Diagnostics §8.60.2 „Class: DiagnosticSovdArrayContentElementDataConstIterator“). Sie erfüllt die Standardanforderungen an die Service-Oriented Vehicle Diagnostics (SOVD) und stellt einen konstanten Vorwärtsiterator für sequenzielle Datenfelder bereit. Ihre zentrale Verantwortung ist die Kapselung des schreibgeschützten Zugriffs auf einzelne Elemente des Typs DiagnosticSovdContentElementData ([SWS_DM_02222], [SWS_DM_02223]). Als Interaktionspartner treten Diagnoseanwendungen auf, welche über die Header-Datei ara/diag/diagnostic_sovd_content_element_data.h SOVD-konforme Array-Inhalte auswerten, ohne die zugrunde liegenden Speicherstrukturen modifizieren zu können.

Lebenszyklus

Die Klassenspezifikation [SWS_DM_02221] führt keine öffentlichen Konstruktoren auf. Die Instanziierung des Iterators dürfte daher typischerweise nicht durch die Anwendungssoftware selbst erfolgen, sondern durch Container-Methoden des übergeordneten Datenobjekts bereitgestellt werden. Frage Q-a2a94d90c92beb71 (offen) Nach der Erzeugung repräsentiert der Iterator eine feste Position innerhalb der Array-Sequenz.

Der Übergang zur jeweils nächsten Position erfolgt über den Präfix-Inkrementoperator operator++, der eine Referenz auf das inkrementierte Iteratorobjekt selbst zurückgibt ([SWS_DM_02226]). In Bezug auf die Nebenläufigkeit sind sämtliche Elementfunktionen der Klasse ausdrücklich als threadsicher (thread-safe) spezifiziert ([SWS_DM_02222] bis [SWS_DM_02226]). Mehrere Threads können somit nebenläufig dieselbe oder unterschiedliche Positionen auslesen. Sofern eine Iterator-Instanz modifizierend durch operator++ weitergeschaltet wird, erfordert dies bei geteilter Nutzung eine externe Synchronisation. Die Lebensdauer der referenzierten Nutzdaten dürfte strikt an die Lebensdauer des bereitstellenden Datencontainers gebunden sein. Frage Q-743ef89528de7a75 (offen)

Nutzungspfad

Der typische Nutzungspfad entspricht dem klassischen C++-Idiom für konstante Iteratoren über eine Kollektion. Zu Beginn eines Durchlaufs prüft der Aufrufer die Gültigkeit der aktuellen Position durch den Ungleichheitsoperator operator!= ([SWS_DM_02225]) oder den Gleichheitsoperator operator== ([SWS_DM_02224]) im Vergleich zum End-Iterator. Befindet sich der Iterator innerhalb des gültigen Bereichs, greift die Anwendung lesend auf das Element zu:

  • Über den Dereferenzierungsoperator operator* ([SWS_DM_02222]) wird eine konstante Referenz DiagnosticSovdContentElementData const& zurückgegeben.
  • Über den Pfeiloperator operator-> ([SWS_DM_02223]) wird ein konstanter Zeiger DiagnosticSovdContentElementData const* geliefert, was den direkten Zugriff auf Elementmethoden erlaubt.

Anschließend rückt der Aufrufer den Iterator mit operator++ um eine Position vor ([SWS_DM_02226]) und wiederholt die Positionsprüfung, bis der Endzustand erreicht ist.

Sequenz der schreibgeschützten Array-IterationAnwendungIteratorElementDataUse Case: Prüfung der Iterationsgrenzeoperator!=(end)true (Gültiges Element)Use Case: Schreibgeschützter Datenzugriffoperator*()Referenz ermittelnDiagnosticSovdContentElementData const&Use Case: Weiterschaltenoperator++()*this (inkrementierter Iterator)

Sequenzdiagramm: Typischer Ablauf der schrittweisen Iteration über SOVD-Array-Elemente. Quellen: [SWS_DM_02222], [SWS_DM_02225], [SWS_DM_02226]

Fehlerszenarien

Die Schnittstelle definiert keine speziellen Fehlercodes oder Statusrückgaben in Form von ara::core::Result. Alle Operationen sind als ausnahmesicher (exception safe) spezifiziert und mit dem Spezifizierer noexcept versehen ([SWS_DM_02222] bis [SWS_DM_02226]). Es werden im laufenden Betrieb keine C++-Ausnahmen ausgelöst.

Als wesentliche Vorbedingung für Aufrufe von operator* und operator-> gilt, dass der Iterator dereferenzierbar sein muss. Das Dereferenzieren eines ungültigen Iterators oder des End-Iterators dürfte mangels Fehlerbehandlungsmechanismen zu undefiniertem Verhalten führen. Frage Q-9144a319e654f27a (offen) Ebenso obliegt es dem Aufrufer sicherzustellen, dass zwei verglichene Iteratoren aus derselben Sequenz stammen.

Dieser Leitfaden wurde durch ein KI-Modell auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__DiagnosticSovdArrayContentElementDataConstIterator518 DiagnosticSovdArrayContentElementDataConstIterator + operator!=() + operator*() + operator++() + operator->() + operator==()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Operatoren

operator!= function

Not equal operator.

auto operator!= (DiagnosticSovdArrayContentElementDataConstIterator const &other) noexcept -> bool;
operator* function

Dereference operator.

auto operator* () noexcept -> DiagnosticSovdContentElementData const &;
operator++ function

Increment operator.

auto operator++ () noexcept -> DiagnosticSovdArrayContentElementData ConstIterator &;
operator-> function

Dereference operator.

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

Equal operator.

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

Dokumentation der Methoden

function operator!= [SWS_DM_02225] Upstream: RS_Diag_04260

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

Not equal operator.

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

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

Dereference operator.

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

Rückgabewert

TypBeschreibung
DiagnosticSovdContentReturn a reference to the DiagnosticSovdContentElementData ElementData const

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

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

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

Increment operator.

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

Rückgabewert

TypBeschreibung
DiagnosticSovdArrayContentElementDataConstIteratorReference to the incremented iterator

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

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

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

Dereference operator.

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

Rückgabewert

TypBeschreibung
DiagnosticSovdContent Return a pointer to the DiagnosticSovdContentElementData ElementData const *

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

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

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

Equal operator.

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