Ofrece acceso de lectura protegido contra escritura y seguro para hilos a elementos de registro de datos diagnósticos SOVD.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5db4cee55bd3ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Ofrece acceso de lectura protegido contra escritura y seguro para hilos a elementos de registro de datos diagnósticos SOVD.
La clase ofrece una vista inmutable de elementos de contenido de registro SOVD estructurados para una evaluación eficiente y de solo lectura en aplicaciones de diagnóstico ([SWS_DM_02295]). Los usuarios pueden comprobar el estado de error mediante objetos de resultado, direccionar elementos del registro de forma selectiva por clave o recorrer todo el contenido secuencialmente mediante iteradores constantes ([SWS_DM_02300]). Todas las interfaces son completamente seguras para hilos y están declaradas como seguras frente a excepciones, pero requieren que el elemento de contenido referenciado se corresponda con el tipo de registro esperado.
Contexto
La clase ara::diag::DiagnosticSovdRecordContentElementDataConstView define una vista constante (Const View) sobre elementos de contenido SOVD de diagnóstico del tipo de registro Record ([SWS_DM_02295], AUTOSAR_AP_SWS_Diagnostics §8.60.9 «Class: DiagnosticSovdRecordContentElementDataConstView»). La interfaz se proporciona a través del encabezado #include "ara/diag/diagnostic_sovd_content_element_data.h" ([SWS_DM_02298]). Permite a las aplicaciones de diagnóstico la lectura selectiva y estructurada de campos de datos jerárquicamente organizados de un elemento de contenido SOVD, sin tener que crear copias de los datos útiles ni realizar operaciones de modificación.
Entre los interlocutores principales se encuentran el componente de diagnóstico llamador, el objeto subyacente de tipo DiagnosticSovdContentElementData, así como los elementos individuales direccionados a través de este, los cuales se proporcionan como un contenedor de referencia constante std::reference_wrapper<DiagnosticSovdContentElementData const> o a través de iteradores constantes ([SWS_DM_02300], [SWS_DM_02301]).
Ciclo de vida
Como tipo de vista, ara::diag::DiagnosticSovdRecordContentElementDataConstView presumiblemente no posee la propiedad (ownership) de los datos útiles subyacentes; la validez de la vista probablemente esté ligada a la vida útil del objeto DiagnosticSovdContentElementData referenciado. Pregunta Q-4aca4f6f723cd3f5 (abierta) La destrucción de la instancia de la vista únicamente libera el descriptor de la vista, pero deja intacta la estructura de datos subyacente.
En lo que respecta a la concurrencia, todas las funciones miembro de la clase están especificadas explícitamente como seguras para hilos (thread-safe) y seguras frente a excepciones (noexcept) ([SWS_DM_02296], [SWS_DM_02298]). Por lo tanto, múltiples hilos pueden acceder en modo lectura a la interfaz en paralelo y sin sincronización, siempre que la estructura de datos referenciada no se modifique de forma concurrente durante el acceso.
Ruta de uso
Un flujo típico para la evaluación de un elemento Record se divide en comprobación de errores, comprobación de dimensiones y acceso a elementos:
Comprobar estado de error: antes del procesamiento, se valida mediante HasError() si el contenido se encuentra libre de errores ([SWS_DM_02296]).
Acceso selectivo a elementos: antes de acceder a un campo nombrado, se puede comprobar la presencia de una clave mediante HasContentElement() ([SWS_DM_02305]). A continuación, el acceso aleatorio se realiza mediante operator[] pasando un ara::core::StringView, que devuelve una referencia al subelemento ([SWS_DM_02300]). Alternativamente, Find() devuelve un iterador al elemento encontrado ([SWS_DM_02306]).
Diagrama de secuencia: orden de llamadas para la comprobación de errores y la consulta de elementos basada en claves. Fuentes: [SWS_DM_02296], [SWS_DM_02300], [SWS_DM_02305].
Escenarios de error
Para el tratamiento de errores, la clase utiliza el tipo de retorno ara::core::Result en lugar de excepciones de C++:
Estado de error interno: si el elemento de contenido SOVD subyacente presenta un error, HasError() devuelve un ara::core::Result<void> que contiene el código de error ara::diag::DiagSovdErrc ([SWS_DM_02296]).
Clave no encontrada o conflicto de tipos: al acceder mediante operator[] o comprobar con HasContentElement(), el valor de retorno entrega un Result de error si el DiagnosticSovdContentElementData no es de tipo RecordContentElementData o ContentData o si la clave especificada no existe ([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 en alemán