Offre un accès en lecture seule et thread-safe aux éléments d'enregistrement de données SOVD de diagnostic.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5db4cee55bd3ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Offre un accès en lecture seule et thread-safe aux éléments d'enregistrement de données SOVD de diagnostic.
La classe offre une vue immuable sur des éléments de contenu d'enregistrement SOVD structurés pour une évaluation efficace et en lecture seule dans les applications de diagnostic ([SWS_DM_02295]). Les utilisateurs peuvent vérifier l'état d'erreur via des objets de résultat, adresser de manière ciblée des éléments d'enregistrement par clé ou parcourir séquentiellement l'ensemble du contenu au moyen d'itérateurs constants ([SWS_DM_02300]). Toutes les interfaces sont entièrement thread-safe et déclarées sûres vis-à-vis des exceptions, mais supposent que l'élément de contenu référencé correspond au type Record attendu.
Contexte
La classe ara::diag::DiagnosticSovdRecordContentElementDataConstView définit une vue immuable (Const View) sur des éléments de contenu SOVD de diagnostic du type d'enregistrement Record ([SWS_DM_02295], AUTOSAR_AP_SWS_Diagnostics §8.60.9 « Class: DiagnosticSovdRecordContentElementDataConstView »). L'interface est fournie via l'en-tête #include "ara/diag/diagnostic_sovd_content_element_data.h" ([SWS_DM_02298]). Elle permet aux applications de diagnostic de lire de manière ciblée et structurée des champs de données hiérarchiquement organisés d'un élément de contenu SOVD, sans devoir créer de copies des données utiles ni effectuer d'opérations modificatrices.
Les partenaires d'interaction principaux comprennent le composant de diagnostic appelant, l'objet sous-jacent de type DiagnosticSovdContentElementData ainsi que les éléments individuels adressés par son intermédiaire, lesquels sont mis à disposition sous forme d'encapsulation de référence constante std::reference_wrapper<DiagnosticSovdContentElementData const> ou via des itérateurs constants ([SWS_DM_02300], [SWS_DM_02301]).
Cycle de vie
En tant que type de vue, ara::diag::DiagnosticSovdRecordContentElementDataConstView ne possède vraisemblablement pas la propriété propre (ownership) des données utiles sous-jacentes ; la validité de la vue devrait être liée à la durée de vie de l'objet DiagnosticSovdContentElementData référencé. Question Q-4aca4f6f723cd3f5 (ouverte) La destruction de l'instance de vue ne libère que le descripteur de vue, mais laisse la structure de données sous-jacente intacte.
En matière de concurrence, toutes les fonctions membres de la classe sont explicitement spécifiées comme thread-safe et sûres vis-à-vis des exceptions (noexcept) ([SWS_DM_02296], [SWS_DM_02298]). Plusieurs threads peuvent ainsi accéder en lecture à l'interface en parallèle et sans synchronisation, tant que la structure de données référencée n'est pas modifiée de manière concurrente pendant l'accès.
Parcours d'utilisation
Un déroulement typique pour l'évaluation d'un élément d'enregistrement se divise en vérification d'erreur, contrôle de dimension et accès aux éléments :
Vérifier l'état d'erreur : avant le traitement, il est validé via HasError() si le contenu est exempt d'erreur ([SWS_DM_02296]).
Accès ciblé aux éléments : avant d'accéder à un champ nommé, la présence d'une clé peut être vérifiée au moyen de HasContentElement() ([SWS_DM_02305]). L'accès direct s'effectue ensuite via operator[] avec transmission d'un ara::core::StringView, qui renvoie une référence à l'élément secondaire ([SWS_DM_02300]). Alternativement, Find() fournit un itérateur sur l'élément trouvé ([SWS_DM_02306]).
Diagramme de séquence : ordre d'appel pour la vérification d'erreur et l'interrogation d'éléments basée sur des clés. Sources : [SWS_DM_02296], [SWS_DM_02300], [SWS_DM_02305].
Scénarios d'erreur
Pour la gestion des erreurs, la classe utilise le type de retour ara::core::Result au lieu des exceptions C++ :
État d'erreur interne : si l'élément de contenu SOVD sous-jacent présente une erreur, HasError() retourne un ara::core::Result<void> contenant le code d'erreur ara::diag::DiagSovdErrc ([SWS_DM_02296]).
Clé manquante ou conflit de type : lors de l'accès via operator[] ou de la vérification avec HasContentElement(), la valeur de retour fournit un Result d'erreur si le DiagnosticSovdContentElementData n'est pas du type RecordContentElementData ou ContentData ou si la clé spécifiée n'existe pas ([SWS_DM_02300], [SWS_DM_02305]).
Returns the begin operator of a RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
auto Begin () noexcept -> DiagnosticSovdRecordContentElementDataConst Iterator;
Returns the begin operator of a RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
auto CBegin () noexcept -> DiagnosticSovdRecordContentElementDataConst Iterator;
Returns if the RecordContentElementData contains an element with the specified key. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
Returns the count of elements in the RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
auto Begin () noexcept -> DiagnosticSovdRecordContentElementDataConst Iterator;
Returns the begin operator of a RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
auto CBegin () noexcept -> DiagnosticSovdRecordContentElementDataConst Iterator;
Returns the begin operator of a RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
Returns if the RecordContentElementData contains an element with the specified key. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
boolean indicating if the elements is found or an error if Diagnostic SovdContentElementData is not of type RecordContentElement Data or ContentData OR the key is not found
Request a governed re-review of this record. The record is not changed immediately.
Returns the count of elements in the RecordContentElementData. This DiagnosticSovdContentElementData shall be of type RecordContentElementData or ContentData
reference to the content element or an error if DiagnosticSovdContentElementData is not of type RecordContentElementData or ContentData OR the key is not found
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · Original allemand