Предоставляет потокобезопасный доступ только для чтения к элементам Record диагностических данных SOVD.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5db4cee55bd3ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Предоставляет потокобезопасный доступ только для чтения к элементам Record диагностических данных SOVD.
Класс предоставляет неизменяемое представление структурированных элементов содержимого SOVD-Record для эффективного анализа только для чтения в диагностических приложениях ([SWS_DM_02295]). Пользователи могут проверять статус ошибки через объекты результатов, адресовать элементы набора данных целенаправленно по ключу или последовательно обходить все содержимое с помощью константных итераторов ([SWS_DM_02300]). Все интерфейсы полностью потокобезопасны и объявлены безысключительными, однако предполагают, что адресуемый элемент содержимого соответствует ожидаемому типу Record.
Контекст
Класс ara::diag::DiagnosticSovdRecordContentElementDataConstView определяет неизменяемое представление (Const View) диагностических элементов содержимого SOVD типа набора данных Record ([SWS_DM_02295], AUTOSAR_AP_SWS_Diagnostics §8.60.9 «Class: DiagnosticSovdRecordContentElementDataConstView»). Интерфейс предоставляется через заголовочный файл #include "ara/diag/diagnostic_sovd_content_element_data.h" ([SWS_DM_02298]). Он позволяет диагностическим приложениям выполнять целенаправленное, структурированное чтение иерархически организованных полей данных элемента содержимого SOVD без необходимости создания копий полезных данных или выполнения модифицирующих операций.
К основным партнерам по взаимодействию относятся вызывающий диагностический компонент, базовый объект типа DiagnosticSovdContentElementData, а также адресуемые через него отдельные элементы, которые предоставляются в виде константной ссылочной обертки std::reference_wrapper<DiagnosticSovdContentElementData const> или через константные итераторы ([SWS_DM_02300], [SWS_DM_02301]).
Жизненный цикл
Являясь типом представления, ara::diag::DiagnosticSovdRecordContentElementDataConstView, вероятно, не обладает собственным владением (Ownership) базовыми полезными данными; валидность представления, по-видимому, привязана ко времени жизни адресуемого объекта DiagnosticSovdContentElementData. Вопрос Q-4aca4f6f723cd3f5 (открытый) Уничтожение экземпляра View лишь освобождает дескриптор представления, оставляя базовую структуру данных незатронутой.
В отношении параллелизма все функции-члены класса явно специфицированы как потокобезопасные и безысключительные (noexcept) ([SWS_DM_02296], [SWS_DM_02298]). Таким образом, несколько потоков могут параллельно и без синхронизации осуществлять доступ к интерфейсу на чтение, при условии что адресуемая структура данных во время доступа не изменяется параллельно.
Путь использования
Типичный процесс анализа элемента Record подразделяется на проверку ошибок, проверку размерности и доступ к элементам:
Проверка состояния ошибки: перед обработкой через HasError() проверяется, не содержит ли содержимое ошибок ([SWS_DM_02296]).
Целенаправленный доступ к элементу: перед обращением к именованному полю с помощью HasContentElement() можно проверить наличие ключа ([SWS_DM_02305]). Произвольный доступ затем осуществляется через operator[] с передачей ara::core::StringView, который возвращает ссылку на подэлемент ([SWS_DM_02300]). В качестве альтернативы Find() возвращает итератор на найденный элемент ([SWS_DM_02306]).
Для обработки ошибок класс использует тип возвращаемого значения ara::core::Result вместо исключений C++:
Внутреннее состояние ошибки: если базовый элемент содержимого SOVD содержит ошибку, HasError() возвращает ara::core::Result<void>, содержащий код ошибки ara::diag::DiagSovdErrc ([SWS_DM_02296]).
Отсутствующий ключ или конфликт типов: при доступе через operator[] или проверке с помощью HasContentElement() возвращаемое значение содержит результат с ошибкой, если DiagnosticSovdContentElementData не относится к типу RecordContentElementData или ContentData либо указанный ключ не существует ([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 · Немецкий оригинал