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

Guia do utilizadorGERADO POR IA

Serve para percorrer e ler sequencialmente elementos de dados de diagnóstico dentro de uma gravação SOVD.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 656c1be3725e Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve para percorrer e ler sequencialmente elementos de dados de diagnóstico dentro de uma gravação SOVD.

A classe ara::diag::DiagnosticSovdRecordContentElementDataIterator serve como iterador para percorrer sequencialmente elementos de dados de diagnóstico de uma gravação SOVD ([SWS_DM_02258]). Através dos operadores de desreferenciação, as aplicações obtêm acesso a elementos do tipo DiagnosticSovdContentElementDataWithKey, enquanto o avanço é efetuado através do operador de incremento. Como condição limite central, todas as funções estão especificadas como noexcept e seguras para threads ([SWS_DM_02263]). Interpretação: a aplicação chamadora deve verificar de forma autónoma, antes de cada acesso, se o fim da sequência foi atingido, de modo a evitar comportamento indefinido. Pergunta Q-819b2e03155473ad (aberta)

Contexto

A classe ara::diag::DiagnosticSovdRecordContentElementDataIterator está especificada na AUTOSAR Adaptive Platform como iterador para elementos de dados de gravações SOVD (Service-Oriented Vehicle Diagnostics) ([SWS_DM_02258], AUTOSAR_AP_SWS_Diagnostics §8.60.10 «Class: DiagnosticSovdRecordContentElementDataIterator»). Dentro do subsistema de Diagnostics, serve como interface de acesso padronizada para percorrer elemento a elemento dados de diagnóstico estruturados de uma gravação SOVD.

Entre os parceiros de interação primários encontram-se a aplicação de diagnóstico solicitante, que processa dados de gravação, bem como a estrutura de dados subjacente do módulo de diagnóstico. O iterador faz a mediação do acesso a elementos de dados individuais do tipo DiagnosticSovdContentElementDataWithKey, disponibilizando opcionalmente referências ou ponteiros para estes elementos de dados através dos seus operadores de desreferenciação ([SWS_DM_02259], [SWS_DM_02260]).

Ciclo de vida

As instâncias do iterador são tipicamente criadas durante operações de consulta sobre conteúdos SOVD. A especificação não define nenhum construtor público autónomo no âmbito da API para o iterador; as instâncias deverão, por conseguinte, ser disponibilizadas principalmente por contentores de nível superior ou funções de consulta e copiadas como valores. Pergunta Q-e79bbdff728ef3f2 (aberta) O iterador aponta para dados úteis existentes sem assumir a respetiva posse.

O ciclo de vida dentro de um processo de travessia é controlado por passos de avanço e comparações de posição. Através do operador de pré-incremento operator++, o iterador é avançado para o elemento de dados seguinte ([SWS_DM_02263]). A validade e o alcance do fim da sequência são determinados através dos operadores de igualdade e desigualdade operator== ([SWS_DM_02261]) e operator!= ([SWS_DM_02262]) face a um iterador sentinela ou de fim.

No que diz respeito à simultaneidade, todas as funções-membro da classe estão explicitamente especificadas como seguras para threads ([SWS_DM_02259], [SWS_DM_02260], [SWS_DM_02261], [SWS_DM_02262], [SWS_DM_02263]). Isto permite acessos de leitura paralelos a instâncias de iterador separadas em ambientes multithreading.

Caminho de utilização

O fluxo típico na avaliação de conteúdos de registos SOVD segue o padrão clássico de iterador para a frente de C++:

  • Verificação da condição de paragem: antes de cada acesso, a aplicação compara a posição atual com o iterador de fim através de operator!= ([SWS_DM_02262]).
  • Acesso ao elemento: se o iterador estiver posicionado num elemento válido, a aplicação acede ao DiagnosticSovdContentElementDataWithKey por referência através de operator* ([SWS_DM_02259]) ou utiliza o operador de acesso a elementos operator-> ([SWS_DM_02260]) para endereçar diretamente métodos ou campos do elemento de dados.
  • Avanço: através de operator++, o iterador é incrementado para a posição seguinte ([SWS_DM_02263]).
Sequência de uso do iterador em elementos de dados de record SOVDAplicaçãoIterator: DiagnosticSovdRecordContentElementDataIteratorElement: DiagnosticSovdContentElementDataWithKeyloopSolange it != endoperator!=(end)truealtDirektzugriff per Zeigeroperator->()DiagnosticSovdContentElementDataWithKey*Referenzzugriffoperator*()DiagnosticSovdContentElementDataWithKey&Nutzdaten lesen / auswertenoperator++()Referência a *this

Diagrama de sequência: sequência típica da travessia de elementos de dados de registo SOVD. Fontes: [SWS_DM_02259], [SWS_DM_02260], [SWS_DM_02262], [SWS_DM_02263].

Cenários de erro

Todas as operações especificadas do iterador estão declaradas como seguras contra exceções (exception safe) e como noexcept ([SWS_DM_02259], [SWS_DM_02260], [SWS_DM_02261], [SWS_DM_02262], [SWS_DM_02263]). Isto significa que, em funcionamento normal, não são lançadas exceções e não surgem códigos de erro para avaliação.

Interpretação: como pré-condição essencial para as chamadas de operator*, operator-> e operator++, o iterador tem de referenciar uma posição válida e não pode corresponder ao iterador de fim. Pergunta (aberta) Um avanço ou desreferenciação de um iterador inválido deverá conduzir a comportamento indefinido no contexto padrão de C++. Por conseguinte, as aplicações têm de verificar rigorosamente o alcance do fim através de operator!= ou operator== ([SWS_DM_02261], [SWS_DM_02262]).

Este guia de classe baseia-se na especificação AUTOSAR Adaptive Platform R25-11 (módulo diag) e resume os requisitos relativos a ara::diag::DiagnosticSovdRecordContentElementDataIterator.

Mapa de membros

Diagrama de classes

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

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

Vista de detalhes

Selecione uma entrada no índice.

Métodos

Dereference operator.

Sobrecargas 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

Operadores

operator* função

Dereference operator.

auto operator* () noexcept -> DiagnosticSovdContentElementDataWithKey &;
operator== função

Equal operator.

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

Documentação dos métodos

função DiagnosticSovdRecord [SWS_DM_02260] Upstream: RS_Diag_04260

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

Dereference operator.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 76d5b17fb7d6 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e semântica

O operador de desreferenciação operator-> da classe ara::diag::DiagnosticSovdRecordContentElementDataIterator serve para o acesso síncrono a membros de um elemento de dados endereçado ([SWS_DM_02260]). A chamada retorna um ponteiro do tipo DiagnosticSovdContentElementDataWithKey* para o elemento atual ([SWS_DM_02260]). A interface está definida no cabeçalho ara/diag/diagnostic_sovd_content_element_data.h ([SWS_DM_02260]).

Simultaneidade e condições marginais

A função é designada como noexcept, garante segurança contra exceções (exception safe) e está especificada como thread-safe ([SWS_DM_02260]). Não existe um código de erro específico para esta função-membro. Interpretação: antes da chamada, o iterador deve apontar para um elemento de dados válido e não pode corresponder ao fim do intervalo, já que desreferenciar um iterador inválido provavelmente levaria a um comportamento indefinido. Pergunta Q-735b580a0b2c8330 (aberta)

Interação

O iterador é utilizado no âmbito do processamento de conteúdos de record juntamente com outras funções:

  • Pode ser obtido por meio de operações de busca como Find em DiagnosticSovdRecordContentElementDataView ([SWS_DM_02285]).
  • O controle de laço ocorre tipicamente por meio do operador de pré-incremento operator++ ([SWS_DM_02263]), bem como do operador de desigualdade operator!= ([SWS_DM_02262]) em comparação com o iterador final de RecordEnd ([SWS_DM_02360]).
  • Para contextos somente leitura, está disponível DiagnosticSovdRecordContentElementDataConstIterator, cujo operator-> retorna um ponteiro para const DiagnosticSovdContentElementDataWithKey ([SWS_DM_02266]).

Esta nota de uso foi criada de forma automatizada e baseia-se nas especificações da AUTOSAR.

Guia do implementador em breve (complexidade 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#5d5c2249
Content hash
5d5c2249
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

função 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#b6f194c7
Content hash
b6f194c7
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

função 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#3af79c88
Content hash
3af79c88
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

função 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#bb8cc1cc
Content hash
bb8cc1cc
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

função 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#4208a9dd
Content hash
4208a9dd
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