DEENESPTFRRUARHIKOZHNL

classe 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

Guide utilisateurGÉNÉRÉ PAR IA

Permet l'accès séquentiel en lecture seule et thread-safe aux éléments de contenu d'enregistrement SOVD de diagnostic.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 3164759db88e Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet l'accès séquentiel en lecture seule et thread-safe aux éléments de contenu d'enregistrement SOVD de diagnostic.

Conformément à [SWS_DM_02264], la classe ara::diag::DiagnosticSovdRecordContentElementDataConstIterator agit comme un itérateur avant constant pour la traversée en lecture seule d'éléments de contenu d'enregistrement SOVD. Il propose des opérateurs pour les vérifications d'égalité, l'avancement ainsi que le déréférencement vers DiagnosticSovdContentElementDataWithKey ([SWS_DM_02265]). Tous les opérateurs étant exécutés de manière sûre vis-à-vis des exceptions et thread-safe selon noexcept, la responsabilité incombe à l'appelant de ne déréférencer aucun itérateur invalide.

Contexte

La classe ara::diag::DiagnosticSovdRecordContentElementDataConstIterator est définie par [SWS_DM_02264] dans AUTOSAR_AP_SWS_Diagnostics §8.60.8. Elle sert d'itérateur avant ou d'entrée constant pour des éléments du type DiagnosticSovdRecordContentElementData, comme décrit dans AUTOSAR_AP_SWS_Diagnostics §8.60.8. Les partenaires d'interaction sont alors les applications de diagnostic du module diag qui parcourent en lecture seule des collections d'éléments de données SOVD (« Service-Oriented Vehicle Diagnostics »), ainsi que les éléments référencés du type DiagnosticSovdContentElementDataWithKey auxquels l'itérateur accorde l'accès pendant le déréférencement ([SWS_DM_02265], [SWS_DM_02266]).

Cycle de vie

Le cycle de vie d'un itérateur commence typiquement par la récupération d'une instance d'itérateur via l'interface d'une structure de données sous-jacente pour les éléments d'enregistrement SOVD (interprétation : les conteneurs possèdent probablement des méthodes telles que cbegin() et cend() qui fournissent des exemplaires d'itérateurs valides). Question Q-9c5e4d32ae82e7cf (ouverte) Comme il s'agit d'un pur wrapper de valeur ou de pointeur sans gestion dynamique des ressources, l'itérateur ne possède aucun mécanisme explicite de destruction et peut être copié ou déplacé. La spécification garantit pour toutes les opérations de l'itérateur la sécurité vis-à-vis des exceptions (exception safe) ainsi qu'une sécurité totale entre threads (thread-safe) ([SWS_DM_02265], [SWS_DM_02266], [SWS_DM_02267], [SWS_DM_02268], [SWS_DM_02269]). Concernant la concurrence, cela signifie que des accès parallèles en lecture sur le même itérateur ou des instances indépendantes les unes des autres peuvent être exécutés sans mesures de synchronisation supplémentaires.

Parcours d'utilisation

Le chemin d'utilisation typique comprend le parcours itératif d'un ensemble de données d'éléments SOVD au sein de routines de traitement de diagnostic. Un appelant vérifie d'abord via l'opérateur d'inégalité operator!= ([SWS_DM_02268]) ou l'opérateur d'égalité operator== ([SWS_DM_02267]) si la fin de la séquence a été atteinte. Tant que l'itérateur est valide, l'application accède en lecture à l'élément référencé : l'opérateur de déréférencement operator* fournit une référence constante vers DiagnosticSovdContentElementDataWithKey ([SWS_DM_02265]), tandis que l'opérateur flèche operator-> renvoie un pointeur vers l'objet constant ([SWS_DM_02266]). Ensuite, l'opérateur d'incrémentation préfixée operator++ fait avancer l'itérateur d'une position et renvoie une référence vers l'itérateur incrémenté ([SWS_DM_02269]).

Traversée avec DiagnosticSovdRecordContentElementDataConstIteratorApplicationIterator: DiagnosticSovdRecordContentElementDataConstIteratorElement: DiagnosticSovdContentElementDataWithKeyUse Case: Contrôle de fin de séquenceoperator!=(endIterator)bool (true = éléments encore présents)loopsolange Iterator != endIteratorUse Case: Accès aux données en lecture seuleoperator*() ou operator->()DiagnosticSovdContentElementDataWithKey const& / const*Datenfelder auslesenUse Case: Weiterschaltenoperator++()Référence vers l’itérateur incrémentéoperator!=(endIterator)bool

Diagramme de séquence : déroulement typique du parcours séquentiel d'éléments de contenu d'un enregistrement SOVD au moyen de l'itérateur constant. Sources : [SWS_DM_02265], [SWS_DM_02266], [SWS_DM_02267], [SWS_DM_02268], [SWS_DM_02269]

Scénarios d'erreur

Toutes les fonctions membres de ara::diag::DiagnosticSovdRecordContentElementDataConstIterator sont déclarées avec le spécificateur noexcept ([SWS_DM_02265], [SWS_DM_02266], [SWS_DM_02267], [SWS_DM_02268], [SWS_DM_02269]). Ni operator*, ni operator->, ni les opérateurs de comparaison ne lèvent d'exceptions C++ ou ne renvoient de structures d'erreur ara::core::Result. La précondition pour un appel sans erreur de operator*, operator-> et operator++ est la validité de l'itérateur : le déréférencement ou l'avancement d'un itérateur de fin (past-the-end) devrait conduire à un comportement indéfini (interprétation : la définition de l'interface ne contient aucun contrôle à l'exécution pour les déréférencements non valides). Question Q-e26c9aa50597bf18 (ouverte) Les utilisateurs doivent donc s'assurer qu'une comparaison d'interruption par rapport à l'itérateur de fin est systématiquement effectuée avant tout accès.

Ce guide repose exclusivement sur les exigences de spécification issues d'AUTOSAR AP R25-11.

Carte des membres

Diagramme de classes

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

G nara__diag__DiagnosticSovdRecordContentElementDataConstIterator644 DiagnosticSovdRecordContentElementDataConstIterator + 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 const *; SWS_DM_02266
auto operator!= (DiagnosticSovdRecordContentElementDataConstIterator const &other) noexcept -> bool; SWS_DM_02268
auto operator++ () noexcept -> DiagnosticSovdRecordContentElementData ConstIterator &; SWS_DM_02269

Opérateurs

operator* fonction

Dereference operator.

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

Equal operator.

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

Documentation des méthodes

fonction DiagnosticSovdRecord [SWS_DM_02266] Upstream: RS_Diag_04260

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

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 : 322ae59e5998 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre operator-> de la classe ara::diag::DiagnosticSovdRecordContentElementDataConstIterator ([SWS_DM_02264]) sert d'opérateur de déréférencement pour l'accès en lecture seule à des éléments de données SOVD ([SWS_DM_02266], AUTOSAR_AP_SWS_Diagnostics §8.60.8.1.1.4 « operator-> »). L'appel s'effectue sans paramètre et de manière synchrone via l'en-tête ara/diag/diagnostic_sovd_content_element_data.h. Comme valeur de retour, la fonction fournit un pointeur constant de type DiagnosticSovdContentElementDataWithKey const * vers les données d'élément référencées avec clé ([SWS_DM_02266]).

Gestion des erreurs

La fonction est déclarée avec noexcept et est classée sur le plan des spécifications comme sûre du point de vue des exceptions (exception safe) ([SWS_DM_02266]). Aucune exception C++ n'est levée et aucun code d'erreur n'est renvoyé via ara::core::Result. Interprétation : le déréférencement d'un itérateur non initialisé, non valide ou se trouvant déjà à la fin de la plage entraîne probablement un comportement indéfini, raison pour laquelle l'appelant doit s'assurer de sa validité avant l'appel de l'opérateur. Question Q-4c149c4fb2d68f33 (ouverte)

Concurrence et restrictions

Conformément à la spécification, l'accès est défini comme thread-safe (thread-safe) ([SWS_DM_02266]). L'opération accordant exclusivement un accès en lecture à l'élément sous-jacent, plusieurs threads peuvent déréférencer les mêmes données simultanément via des itérateurs constants.

Interaction

La fonction interagit étroitement avec d'autres interfaces de l'itérateur et des structures de données de diagnostic :

  • Navigation et comparaison : lors de l'itération sur le contenu d'un record, l'itérateur avance typiquement au moyen de operator++ ([SWS_DM_02269]) et est comparé aux itérateurs de fin via operator!= ([SWS_DM_02268]).
  • Limites de plage : la fin de plage constante correspondante peut être déterminée via RecordCEnd ([SWS_DM_02362]) de la classe DiagnosticSovdContentElementData.
  • Alternative non constante : pour les accès modificateurs, la contrepartie operator-> de la classe DiagnosticSovdRecordContentElementDataIterator ([SWS_DM_02260]) est disponible et peut être obtenue via des fonctions telles que Find ([SWS_DM_02285]) ou RecordEnd ([SWS_DM_02360]).

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R25-11.

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

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

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

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

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