DEENESPTFRRUARHIKOZHNL

classe 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

Guide utilisateurGÉNÉRÉ PAR IA

Sert au parcours séquentiel et à la lecture d'éléments de données de diagnostic au sein d'un enregistrement SOVD.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 656c1be3725e Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert au parcours séquentiel et à la lecture d'éléments de données de diagnostic au sein d'un enregistrement SOVD.

La classe ara::diag::DiagnosticSovdRecordContentElementDataIterator sert d'itérateur pour le parcours séquentiel d'éléments de données de diagnostic d'un enregistrement SOVD ([SWS_DM_02258]). Via les opérateurs de déréférencement, les applications accèdent à des éléments du type DiagnosticSovdContentElementDataWithKey, tandis que l'avancement s'effectue au moyen de l'opérateur d'incrémentation. Comme contrainte centrale, toutes les fonctions sont spécifiées comme noexcept et sûres pour les threads ([SWS_DM_02263]). Interprétation : l'application appelante doit vérifier elle-même avant chaque accès si la fin de la séquence est atteinte afin d'éviter tout comportement indéfini. Question Q-819b2e03155473ad (ouverte)

Contexte

La classe ara::diag::DiagnosticSovdRecordContentElementDataIterator est spécifiée dans l'Adaptive Platform AUTOSAR comme itérateur pour les éléments de données d'enregistrements SOVD (Service-Oriented Vehicle Diagnostics) ([SWS_DM_02258], AUTOSAR_AP_SWS_Diagnostics §8.60.10 « Class: DiagnosticSovdRecordContentElementDataIterator »). Au sein du sous-système de diagnostic, elle sert d'interface d'accès standardisée pour parcourir élément par élément les données de diagnostic structurées d'un enregistrement SOVD.

Parmi les principaux partenaires d'interaction figurent l'application de diagnostic demandeuse, qui traite les données d'enregistrement, ainsi que la structure de données sous-jacente du module de diagnostic. L'itérateur assure l'accès à des éléments de données individuels du type DiagnosticSovdContentElementDataWithKey en fournissant, via ses opérateurs de déréférencement, au choix des références ou des pointeurs vers ces éléments de données ([SWS_DM_02259], [SWS_DM_02260]).

Cycle de vie

Les instances de l'itérateur sont typiquement créées lors d'opérations d'interrogation sur des contenus SOVD. La spécification ne définit aucun constructeur public autonome pour l'itérateur dans le périmètre de l'API ; les instances devraient donc être principalement fournies par des conteneurs de niveau supérieur ou des fonctions d'interrogation et copiées sous forme de valeurs. Question Q-e79bbdff728ef3f2 (ouverte) L'itérateur référence des données utiles existantes sans en assumer la propriété.

Le cycle de vie au sein d'une opération de parcours est piloté par des étapes d'avancement et des comparaisons de position. L'opérateur d'incrémentation préfixée operator++ permet d'avancer l'itérateur vers l'élément de données suivant ([SWS_DM_02263]). La validité et l'atteinte de la fin de séquence sont déterminées via les opérateurs d'égalité et d'inégalité operator== ([SWS_DM_02261]) et operator!= ([SWS_DM_02262]) par rapport à un itérateur sentinelle ou de fin.

En ce qui concerne la concurrence, toutes les fonctions membres de la classe sont explicitement spécifiées comme étant sûres pour les threads ([SWS_DM_02259], [SWS_DM_02260], [SWS_DM_02261], [SWS_DM_02262], [SWS_DM_02263]). Cela autorise des accès en lecture parallèles sur des instances d'itérateur distinctes dans des environnements multithreads.

Parcours d'utilisation

Le déroulement typique lors de l'évaluation de contenus d'enregistrements SOVD suit le modèle classique d'itérateur vers l'avant (forward iterator) en C++ :

  • Vérification de la condition d'interruption : avant chaque accès, l'application compare la position actuelle avec l'itérateur de fin au moyen de operator!= ([SWS_DM_02262]).
  • Accès à l'élément : si l'itérateur est positionné sur un élément valide, l'application accède soit par référence via operator* au DiagnosticSovdContentElementDataWithKey ([SWS_DM_02259]), soit utilise l'opérateur d'accès aux membres operator-> ([SWS_DM_02260]) pour adresser directement des méthodes ou des champs de l'élément de données.
  • Avancement : l'itérateur est incrémenté vers la position suivante au moyen de operator++ ([SWS_DM_02263]).
Séquence d’utilisation de l’itérateur pour les éléments de données de record SOVDApplicationIterator: DiagnosticSovdRecordContentElementDataIteratorElement: DiagnosticSovdContentElementDataWithKeyloopSolange it != endoperator!=(end)truealtDirektzugriff per Zeigeroperator->()DiagnosticSovdContentElementDataWithKey*Referenzzugriffoperator*()DiagnosticSovdContentElementDataWithKey&Nutzdaten lesen / auswertenoperator++()Référence vers *this

Diagramme de séquence : déroulement typique du parcours d'éléments de données d'un enregistrement SOVD. Sources : [SWS_DM_02259], [SWS_DM_02260], [SWS_DM_02262], [SWS_DM_02263].

Scénarios d'erreur

Toutes les opérations spécifiées de l'itérateur sont déclarées comme sûres vis-à-vis des exceptions (exception safe) et comme noexcept ([SWS_DM_02259], [SWS_DM_02260], [SWS_DM_02261], [SWS_DM_02262], [SWS_DM_02263]). Cela signifie qu'en fonctionnement normal, aucune exception n'est levée et aucun code d'erreur n'est à évaluer.

Interprétation : une précondition essentielle pour les appels de operator*, operator-> et operator++ est que l'itérateur doit référencer une position valide et ne doit pas correspondre à l'itérateur de fin. Question (ouverte) L'avancement ou le déréférencement d'un itérateur non valide devrait, dans le contexte standard de C++, conduire à un comportement indéfini. Les applications doivent donc vérifier rigoureusement l'atteinte de la fin au moyen de operator!= ou operator== ([SWS_DM_02261], [SWS_DM_02262]).

Ce guide de classe repose sur la spécification AUTOSAR Adaptive Platform R25-11 (module diag) et synthétise les exigences relatives à ara::diag::DiagnosticSovdRecordContentElementDataIterator.

Carte des membres

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Méthodes

Dereference operator.

Surcharges 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

Opérateurs

operator* fonction

Dereference operator.

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

Equal operator.

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

Documentation des méthodes

fonction DiagnosticSovdRecord [SWS_DM_02260] Upstream: RS_Diag_04260

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

Dereference operator.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 76d5b17fb7d6 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

L'opérateur de déréférencement operator-> de la classe ara::diag::DiagnosticSovdRecordContentElementDataIterator sert à l'accès synchrone aux membres d'un élément de données adressé ([SWS_DM_02260]). L'appel renvoie un pointeur de type DiagnosticSovdContentElementDataWithKey* vers l'élément actuel ([SWS_DM_02260]). L'interface est définie dans l'en-tête ara/diag/diagnostic_sovd_content_element_data.h ([SWS_DM_02260]).

Concurrence et contraintes

La fonction est désignée comme noexcept, garantit la sécurité vis-à-vis des exceptions (exception safe) et est spécifiée comme thread-safe ([SWS_DM_02260]). Aucun code d'erreur spécifique n'existe pour cette fonction membre. Interprétation : avant l'appel, l'itérateur doit pointer vers un élément de données valide et ne doit pas correspondre à la fin de la plage, car le déréférencement d'un itérateur non valide conduirait vraisemblablement à un comportement indéfini. Question Q-735b580a0b2c8330 (ouverte)

Interaction

Dans le cadre du traitement du contenu de records, l'itérateur est utilisé conjointement avec d'autres fonctions :

  • Il peut être obtenu via des opérations de recherche telles que Find sur DiagnosticSovdRecordContentElementDataView ([SWS_DM_02285]).
  • Le contrôle de boucle s'effectue généralement via l'opérateur de pré-incrémentation operator++ ([SWS_DM_02263]) ainsi que l'opérateur d'inégalité operator!= ([SWS_DM_02262]) en comparaison avec l'itérateur de fin issu de RecordEnd ([SWS_DM_02360]).
  • Pour les contextes en lecture seule, DiagnosticSovdRecordContentElementDataConstIterator est disponible, dont le operator-> renvoie un pointeur vers const DiagnosticSovdContentElementDataWithKey ([SWS_DM_02266]).

Cette note d'utilisation a été créée de manière automatisée et est basée sur les spécifications AUTOSAR.

Guide de l'implémenteur à venir (complexité 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#808db7d0
Content hash
808db7d0
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

fonction 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#446243a9
Content hash
446243a9
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

fonction 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#7b0dcaae
Content hash
7b0dcaae
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

fonction 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#84225866
Content hash
84225866
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

fonction 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#d3e44a71
Content hash
d3e44a71
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