Provides typed read and write access to array elements of SOVD diagnostic data via indices and iterators.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: d333ea0efb38ProvenanceOpen questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Provides typed read and write access to array elements of SOVD diagnostic data via indices and iterators.
The class provides a structured interface for random as well as iterator-based access to array-based diagnostic data elements of the Adaptive Platform ([SWS_DM_02227]). It enables applications to dynamically append primitive data values and complex content elements, as well as to preemptively reserve memory capacities. In case of incompatible data types, invalid index accesses, or explicitly set error states, error codes are propagated to the caller via Result types ([SWS_DM_02228]). According to the standard, all specified operations are implemented completely exception-safe and thread-safe.
Context
The class ara::diag::DiagnosticSovdArrayContentElementDataView is defined in AUTOSAR_AP_SWS_Diagnostics §8.60.5 “Class: DiagnosticSovdArrayContentElementDataView” under [SWS_DM_02227]. In the AUTOSAR Adaptive Diagnostics module, it serves as a typed view on a diagnostic content element (DiagnosticSovdContentElementData) with the underlying type ArrayContentElementData. It is declared via the header ara/diag/diagnostic_sovd_content_element_data.h.
Its primary responsibility lies in the structured encapsulation of array operations for Service-Oriented Vehicle Diagnostics (SOVD). Calling diagnostic applications that process or provide SOVD data structures, as well as the underlying generic data containers, act as interaction partners. Access to individual array elements is handled either via dedicated iterators or via typed index operators.
Lifecycle
As a view object, the instance presumably does not hold sole ownership of the actual payload data, but binds to the memory of an existing DiagnosticSovdContentElementData. Question Q-04a43d21a981ea92 (open) The lifecycle of the data is subject to the following phases:
Memory reservation and capacity: Prior to inserting larger amounts of data, the internal memory capacity can be set proactively via Reserve ([SWS_DM_02240]). The current capacity can be determined using Capacity ([SWS_DM_02231]).
Population: New elements are appended sequentially via overloads of PushBack. Primitive data types such as std::int64_t ([SWS_DM_02241]), std::uint64_t ([SWS_DM_02242]), double ([SWS_DM_02243]), bool ([SWS_DM_02244]), and ara::core::StringView ([SWS_DM_02245]) as well as nested DiagnosticSovdContentElementData instances ([SWS_DM_02246]) are supported.
Inspection and cleanup: The occupancy state can be queried at any time via Size ([SWS_DM_02230]) and Empty ([SWS_DM_02232]). Individual elements can be removed per iterator via Erase ([SWS_DM_02247]), while Clear ([SWS_DM_02233]) resets the entire array.
Regarding concurrency and exception behavior, all member functions of the class are specified to be exception-safe (declared with noexcept) and thread-safe.
Usage Path
A typical usage path comprises preparatory capacity reservation, step-by-step data population, reading the elements, and final validation for error states:
Reserve capacity: The application calls Reserve to minimize dynamic reallocations during subsequent write accesses ([SWS_DM_02240]).
Insert elements: Data records are appended using PushBack ([SWS_DM_02241]).
Check status: After completing the operations, the application checks via HasError whether the array content has remained free of errors ([SWS_DM_02228]).
Methods with error potential use ara::core::Result to report violated preconditions or execution aborts instead of C++ exceptions:
Type mismatch: Operations such as PushBack ([SWS_DM_02241]) or operator[] ([SWS_DM_02234]) require that the encapsulated element is actually of type ArrayContentElementData. Otherwise, they return a corresponding error in the Result object. For PushBack, the inserted type must additionally match the data type specified in the constructor of the array element.
Failed erasure: Calling Erase ([SWS_DM_02247]) returns an error in Result if the target is not of type ArrayContentElementData or if the element could not be removed via the specified iterator.
Explicit error states: A ara::core::ErrorCode can be assigned to the array content via SetError ([SWS_DM_02229]). If the content is marked as faulty in this way, the query HasError ([SWS_DM_02228]) returns the error code as ara::diag::DiagSovdErrc.
This class guide is based on the AUTOSAR specification R25-11 and was curated by AI.
Pushes back a DiagnosticSovdContentElementData with signed int as primitive type. The current element shall be of ArrayContentElementData and the element to add of the specified in the ArrayContentElementData constructor
Clears the Array. This DiagnosticSovdContentElementData shall be of type ArrayContentElementData
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 6da40b1d207aProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The member function Clear of class ara::diag::DiagnosticSovdArrayContentElementDataView clears the entire content of an SOVD array element ([SWS_DM_02233]). The call is provided via header #include "ara/diag/diagnostic_sovd_content_element_data.h". The method has the signature auto Clear () noexcept -> void;. It operates synchronously, takes no parameters, and returns no value ([SWS_DM_02233]).
Error Handling and Boundary Conditions
According to the specification, the function is defined as exception safe (exception safe) and provided with the specifier noexcept ([SWS_DM_02233]). It returns neither error codes nor a ara::core::Result. As a binding requirement, the referenced DiagnosticSovdContentElementData must be of type ArrayContentElementData ([SWS_DM_02233]). Since no errors are signaled, adherence to this type is likely already ensured by the view class at construction time. Question Q-cdb2385e081c3456 (open)
Concurrency
The specification explicitly classifies the method as thread-safe (thread-safe) ([SWS_DM_02233]). Calls to Clear can therefore occur concurrently from multiple threads without external synchronization.
Interplay in the Diagnostic Subsystem
Within the SOVD data structures, the operation is closely related to further clearing methods:
DiagnosticSovdContentElementData::Clear ([SWS_DM_02338]) forms the generic counterpart at the element level, but returns a ara::core::Result<void> and fails if the object does not represent an array.
DiagnosticSovdRecordContentElementDataView::Clear ([SWS_DM_02276]) handles the analogous cleanup for data structures of type RecordContentElementData and ContentData, respectively.
In contrast, in the classic fault memory context, ara::diag::DTCInformation::Clear ([SWS_DM_00671]) serves for the asynchronous clearing of UDS DTCs via ara::core::Future.
This usage note was created automatically based on the AUTOSAR Adaptive specification R25-11.
Erases a content element from DiagnosticSovdContentElementData. The current element shall be of ArrayContentElementData
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 413be4c2f44cProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The method Erase of class ara::diag::DiagnosticSovdArrayContentElementDataView serves to remove an element from diagnostic SOVD payload data ([SWS_DM_02247], SWS Diagnostics §8.60.5.1.1.8 “Erase”). As a parameter, the function accepts an iterator of type DiagnosticSovdArrayContentElementDataIterator, which points to the element to be deleted. The call is performed as a synchronous operation; this likely results from the direct return of ara::core::Result<void> without an asynchronous future pattern. Question Q-28de22574e525c78 (open)
Error Handling and Boundary Conditions
The function is declared with noexcept and possesses the properties exception safe as well as thread-safe ([SWS_DM_02247]). If deletion fails, the method returns an error via the returned ara::core::Result. This is the case if the parent DiagnosticSovdContentElementData is not of the required type ArrayContentElementData or if the element could not be removed for other reasons ([SWS_DM_02247]).
Interaction
Within the SOVD interface, this operation corresponds to the erase method Erase of the underlying data container DiagnosticSovdContentElementData for array elements ([SWS_DM_02352]). For record structures, analogous counterparts exist with DiagnosticSovdRecordContentElementDataView::Erase and the corresponding container method ([SWS_DM_02294], [SWS_DM_02374]).
This usage note was generated automatically based on the AUTOSAR specification.
Pushes back a DiagnosticSovdContentElementData with signed int as primitive type. The current element shall be of ArrayContentElementData and the element to add of the specified in the ArrayContentElementData constructor
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: c37b8f1a434cProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
The synchronous member function PushBack serves to append a signed integer element of type std::int64_t to an array structure of diagnostic SOVD content elements ([SWS_DM_02241], AUTOSAR_AP_SWS_Diagnostics §8.60.5.1.1.14 “PushBack”). It is declared in header file ara/diag/diagnostic_sovd_content_element_data.h and defined as noexcept ([SWS_DM_02241]).
The following prerequisites and interface requirements apply to a successful call:
Call context and preconditions: The target object of class ara::diag::DiagnosticSovdArrayContentElementDataView must represent a ArrayContentElementData, and the primitive type to be added must match the element type defined in the constructor ([SWS_DM_02241]).
Return value and error handling: The function returns a ara::core::Result<void>. If the check fails because the underlying element is not of type ArrayContentElementData, the result contains an error ([SWS_DM_02241]). Interpretation: A discrepancy with the data type specified in the constructor is likely reported analogously as an error in the result object. Question Q-d4715ecbd0f12d26 (open)
Concurrency: The function is specified as thread-safe and exception-safe ([SWS_DM_02241]).
The method is part of a family of typed overloads within DiagnosticSovdArrayContentElementDataView for unsigned integers ([SWS_DM_02242]), floating-point numbers ([SWS_DM_02243]), boolean values ([SWS_DM_02244]), strings ([SWS_DM_02245]), and complete data elements ([SWS_DM_02246]). Corresponding methods also exist on data class DiagnosticSovdContentElementData itself ([SWS_DM_02346]).
This text was generated by an AI based on the AUTOSAR R25-11 specification.
Pushes back a DiagnosticSovdContentElementData with unsigned int as primitive type. The current element shall be of ArrayContentElementData and the element to add of the specified in the ArrayContentElementData constructor
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: c25599049c83ProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The synchronous API function PushBack of class ara::diag::DiagnosticSovdArrayContentElementDataView appends an unsigned 64-bit integer value (std::uint64_t) as a primitive data element to the end of an existing SOVD array element [SWS_DM_02242]. It is included via the header file ara/diag/diagnostic_sovd_content_element_data.hSWS Diagnostics §8.60.5.1.1.15 “PushBack”. A prerequisite for a successful call is that the current element represents a ArrayContentElementData and the value to be added matches the element type defined in the constructor [SWS_DM_02242].
Error Handling and Concurrency
The function signals its execution status via ara::core::Result<void>[SWS_DM_02242]. If the target object is not of type ArrayContentElementData, the function returns an error in the result [SWS_DM_02242]. Because no specific error codes are mentioned (interpretation: error states are signaled generically by the Result), the caller must evaluate the Result object. Question Q-95f2dd96e2681368 (open) The method is declared as noexcept, guarantees exception safety, and is explicitly specified as thread-safe [SWS_DM_02242].
Interaction
The operation belongs to a family of type-specific overloads within DiagnosticSovdArrayContentElementDataView that analogously process signed integers via std::int64_t[SWS_DM_02241], floating-point numbers via double[SWS_DM_02243], boolean values via bool[SWS_DM_02244], strings via ara::core::StringView[SWS_DM_02245], or structured elements of type DiagnosticSovdContentElementData[SWS_DM_02246]. A similar implementation for std::uint64_t is also provided by DiagnosticSovdContentElementData[SWS_DM_02347].
This usage note was generated automatically and is based exclusively on the specification data from AUTOSAR R25-11.
auto PushBack (double content_element) noexcept -> ara::core::Result< void >;
Pushes back a DiagnosticSovdContentElementData with double as primitive type. The current element shall be of ArrayContentElementData and the element to add of the specified in the ArrayContentElementData constructor
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 57dd45f522f9Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The synchronous method PushBack is provided via header file #include "ara/diag/diagnostic_sovd_content_element_data.h" in the scope of class ara::diag::DiagnosticSovdArrayContentElementDataView ([SWS_DM_02243], AUTOSAR_AP_SWS_Diagnostics §8.60.5.1.1.13 “PushBack”). It appends a primitive floating-point value of type double as a content element to an existing array ([SWS_DM_02243]). The only parameter passed is the datum content_element to be appended.
Error Handling and Boundary Conditions
The function returns a ara::core::Result<void> ([SWS_DM_02243]). Successful execution requires that the current element is of type ArrayContentElementData and the element to be added matches the type specified in the constructor of ArrayContentElementData ([SWS_DM_02243]). If the target is not of type ArrayContentElementData, the operation fails and returns an error in the result ([SWS_DM_02243]).
Concurrency
The function is declared as noexcept, ensures exception safety (exception safe), and according to the specification is thread-safe ([SWS_DM_02243]). Multiple threads can therefore call the function concurrently without external synchronization.
Interaction
Within DiagnosticSovdArrayContentElementDataView, overloads with identical types exist for other primitive data types, including std::int64_t ([SWS_DM_02241]), std::uint64_t ([SWS_DM_02242]), bool ([SWS_DM_02244]), ara::core::StringView ([SWS_DM_02245]), as well as for complete DiagnosticSovdContentElementData objects ([SWS_DM_02246]). Analogous methods are also available on DiagnosticSovdContentElementData (e.g., [SWS_DM_02348]).
This text was generated by an AI based on the AUTOSAR R25-11 specification.
auto PushBack (bool content_element) noexcept -> ara::core::Result< void >;
Pushes back a DiagnosticSovdContentElementData with boolean as primitive type. The current element shall be of ArrayContentElementData and the element to add of the specified in the ArrayContentElementData constructor
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 1dba5c9a049dProvenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
The member function PushBack serves to append a DiagnosticSovdContentElementData with primitive data type bool to an existing array element ([SWS_DM_02244]). The interface is defined in header ara/diag/diagnostic_sovd_content_element_data.h within class ara::diag::DiagnosticSovdArrayContentElementDataView (AUTOSAR_AP_SWS_Diagnostics §8.60.5.1.1.12 “PushBack”). As an input parameter, the synchronous function accepts the boolean value content_element ([SWS_DM_02244]).
A prerequisite for the call is that the current element is of type ArrayContentElementData and the value to be appended matches the type declared in the data structure's constructor ([SWS_DM_02244]). If the target element is not of type ArrayContentElementData, the operation fails and returns a ara::core::Result<void> with a corresponding error; on success, the result contains an empty void ([SWS_DM_02244]).
Regarding execution safety, the method is declared as noexcept and specified as thread-safe (thread-safe) and exception safe (exception safe) ([SWS_DM_02244]).
The method is part of a family of typed PushBack overloads within DiagnosticSovdArrayContentElementDataView. In addition to boolean values, sibling functions cover the insertion of integer types such as std::int64_t ([SWS_DM_02241]) and std::uint64_t ([SWS_DM_02242]), floating-point values double ([SWS_DM_02243]), strings ara::core::StringView ([SWS_DM_02245]), and complex data elements ([SWS_DM_02246]). Corresponding operations are also available at the level of DiagnosticSovdContentElementData, including the boolean variant [SWS_DM_02349].
This usage note was generated automatically based on the AUTOSAR R25-11 specification.
Pushes back a DiagnosticSovdContentElementData with string as primitive type. The current element shall be of ArrayContentElementData and the element to add of the specified in the ArrayContentElementData constructor
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 265380479cb5Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The synchronous member function PushBack of class ara::diag::DiagnosticSovdArrayContentElementDataView ([SWS_DM_02245], defined in SWS Diagnostics §8.60.5.1.1.11 “PushBack”) appends a new element with primitive type string to a diagnostic SOVD array. For this purpose, header ara/diag/diagnostic_sovd_content_element_data.h must be included. The function takes the element to be appended via parameter content_element of type ara::core::StringView.
Error handling
ara::core::Result<void> serves as the return type. An error is returned in the result object if the current object is not of type ArrayContentElementData or the type of the passed element does not match the element type defined in the constructor of ArrayContentElementData ([SWS_DM_02245]).
Concurrency and Limitations
The function is declared with the specifier noexcept. It offers guaranteed exception safety (exception safe) and is specified as unconditionally thread-safe (thread-safe) ([SWS_DM_02245]).
Interaction
The operation is part of a family of overloaded methods. Within DiagnosticSovdArrayContentElementDataView, further overloads exist for scalar types such as std::int64_t ([SWS_DM_02241]), std::uint64_t ([SWS_DM_02242]), double ([SWS_DM_02243]), and bool ([SWS_DM_02244]), as well as for complete elements of type DiagnosticSovdContentElementData ([SWS_DM_02246]). In addition, class ara::diag::DiagnosticSovdContentElementData also provides a corresponding PushBack interface for strings ([SWS_DM_02350]).
This usage note was generated automatically based on the AUTOSAR Adaptive R25-11 specification.
Pushes back a DiagnosticSovdContentElementData. The current element shall be of ArrayContentElementData and the element to add of the specified in the ArrayContentElementData constructor
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 016f2212a535ProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The synchronous member function PushBack of class ara::diag::DiagnosticSovdArrayContentElementDataView (SWS Diagnostics §8.60.5.1.1.10 “PushBack”) appends an element of type DiagnosticSovdContentElementData to an existing array data view ([SWS_DM_02246]). As a parameter, it takes the object content_element to be appended by value and has no return value (void). The declaration is provided via the header file ara/diag/diagnostic_sovd_content_element_data.h.
Concurrency and preconditions
The specification defines the function as exception safe (exception safe), thread-safe (thread-safe), and annotated with noexcept ([SWS_DM_02246]). As a mandatory precondition, the operation requires that the current element is of type ArrayContentElementData and the element to be appended corresponds exactly to the type specified in the constructor of ArrayContentElementData ([SWS_DM_02246]).
Error Handling and Interaction
In contrast to the overloads for primitive types such as std::int64_t ([SWS_DM_02241]), std::uint64_t ([SWS_DM_02242]), double ([SWS_DM_02243]), bool ([SWS_DM_02244]), or ara::core::StringView ([SWS_DM_02245]), which return a ara::core::Result<void> for error reporting, this method returns void. It is therefore likely the caller's responsibility to check type compatibility in advance, as runtime errors at this interface are not signaled via a result type. Question Q-00739dff7d34e242 (open) An equivalent method for appending data elements is also defined on DiagnosticSovdContentElementData ([SWS_DM_02351]).
This text was generated automatically. All technical statements are based on the AUTOSAR AP R25-11 specification.
auto Reserve (std::size_t capacity) noexcept -> void;
Reserves the capacity of the DiagnosticSovdArrayContentElementData.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: b3494a8080d3ProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
The synchronous method Reserve of class ara::diag::DiagnosticSovdArrayContentElementDataView serves for the pre-allocation of storage capacity for array data elements ([SWS_DM_02240], SWS Diagnostics §8.60.5.1.1.16 “Reserve”). It is provided via header #include "ara/diag/diagnostic_sovd_content_element_data.h" and accepts the parameter capacity of type std::size_t, which defines the capacity to be provided for the underlying DiagnosticSovdArrayContentElementData ([SWS_DM_02240]). No return value is returned ([SWS_DM_02240]).
Regarding error handling, the function is declared as exception safe (exception safe) as well as noexcept ([SWS_DM_02240]). It uses neither error codes via ara::core::Result nor C++ exceptions. Interpretation: In case of a memory shortage, the allocation is likely to fail internally or lead to program termination, as no error channel is available to the caller. Question Q-348805197c004eea (open)
For concurrency, the operation is explicitly specified as thread-safe (thread-safe) ([SWS_DM_02240]). Calls can thus be made from parallel threads without external locking.
In the overall system, the interface complements related reservation functions: While DiagnosticSovdRecordContentElementDataView::Reserve is analogously responsible for record data structures ([SWS_DM_02283], SWS Diagnostics §8.60.11.1.1.20 “Reserve”), the general base class function DiagnosticSovdContentElementData::Reserve returns a ara::core::Result<void> in order to report an error if the element type is incorrect ([SWS_DM_02345], SWS Diagnostics §8.60.6.1.2.55 “Reserve”). In contrast to the non-thread-safe memory reservation DiagnosticServiceDynamicAccessList::Reserve ([SWS_DM_01163], SWS Diagnostics §8.13.1.1.3.3 “Reserve”), this view method operates directly and concurrently on SOVD array elements.
This text was generated by an AI and serves as guidance. The referenced AUTOSAR specifications are authoritative.
gemini-3.8-flash-low· 2026-10-13 · German original