DEENESPTFRRUARHIKOZHNL

struct ara::diag::EventStatusByte

[SWS_DM_00644] Upstream: RS_Diag_04151

struct EventStatusByte {...};

Current event status byte, bit-encoded.

Header-Datei#include "ara/diag/event_types.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

User GuideAI-GENERATED

Represents the bit-coded status byte of a diagnostic event and provides type-safe check methods for status bits.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: c0a8a1df20de Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Represents the bit-coded status byte of a diagnostic event and provides type-safe check methods for status bits.

The struct ara::diag::EventStatusByte encapsulates the bit-coded status byte of a single diagnostic event within the Adaptive Platform [SWS_DM_00644]. It provides methods for type-safe querying of set or unset status bits as well as compound check states [SWS_DM_01755]. Because the computation always reflects the specific event, it remains unaffected by higher-level DTC event combinations. As a lightweight value object, all read accesses are exception-safe and concurrently readable, whereas mutating assignments must be synchronized externally.

Context

The struct ara::diag::EventStatusByte encapsulates the bit-coded status byte of a diagnostic event in the fault memory of the AUTOSAR Adaptive Diagnostic Management [SWS_DM_00644]. According to the specification, the EventStatusByte always precisely represents the state of the assigned individual event and is not influenced by any event combination (Event Combination) during computation (AUTOSAR_AP_SWS_Diagnostics p. 234). Primary interaction partners include the Diagnostic Management Core (DM), which determines the UDS DTC status upon event status updates [SWS_DM_01109] and informs via configured callbacks [SWS_DM_01110]. Interpretation: Via the type alias ara::diag::EventStatusByteNotifier [SWS_DM_02118], this status change is likely reported to registered application functions so that they can react to state changes. Question Q-8fd114acd74569ee (open)

Lifecycle

Instances of ara::diag::EventStatusByte are lightweight value objects defined in header ara/diag/event_types.h [SWS_DM_01753]. Creation takes place either by copying, moving, or via a variadic template constructor that accepts an arbitrary set of EventStatusBits to be set [SWS_DM_01753]. Because constructors and assignment operators are declared as constexpr and noexcept, objects can already be constructed at compile time (AUTOSAR_AP_SWS_Diagnostics §8.47.2.1.1 “Special Member Functions”).

Regarding ownership and lifetime, the object is typically passed by value (by-value) or constant reference to notifiers. The move constructor [SWS_DM_01751] and the copy constructor [SWS_DM_01752] guarantee exception safety and thread safety. In contrast, the copy assignment operator [SWS_DM_01750] and the move assignment operator [SWS_DM_01749] are explicitly classified as not thread-safe (not thread-safe) in the specification. Multiple concurrent read accesses to an existing status byte are thread-safely possible; mutating assignments to a shared instance, however, require external synchronization.

Usage Path

A typical use case consists of checking a status byte transmitted by Diagnostic Management for specific diagnostic criteria. For this purpose, the class provides specialized evaluation methods:

  • Checking for fault test: With IsFailedAndTested(), it can be checked directly whether both the bit kTestFailed and kTestFailedThisOperationCycle are set [SWS_DM_01757]. Interpretation: This signals to the application that the event has already been tested in the current operation cycle and assessed as defective. Question (open)
  • Checking for fault-free test: The method IsPassedAndTested() returns true provided that neither kTestFailed nor kTestNotCompletedThisOperationCycle are set [SWS_DM_01756].
  • Generic bit checks: Via the template IsSet(bits...), it can be verified whether all passed status bits are set [SWS_DM_01755]. Complementary to this, IsNotSet(bits...) checks whether none of the passed bits are active [SWS_DM_01754].

When resetting faults through a clearDTC operation, Diagnostic Management cleanses all referenced events regardless of whether event combinations are configured [SWS_DM_01108]. The following sequence diagram illustrates the interaction during a status update and subsequent evaluation in the application.

Notification and evaluation of the EventStatusByteDiagnostic Management (DM)ara::diag::EventStatusByteNotifierApplicationUse Case: Event and DTC status updateCalculates event status and combined DTC statusInvoke callback with EventStatusByteTransmit notification (statusByte)Use Case: Bit check in the applicationstatusByte.IsFailedAndTested()statusByte.IsSet(...)Return from notificationCallback beendet

Sequence diagram: Typical notification and bitmask evaluation of the EventStatusByte. Sources: [SWS_DM_01109], [SWS_DM_01110], [SWS_DM_02118], [SWS_DM_01757], [SWS_DM_01755]

Error Scenarios

Because ara::diag::EventStatusByte is an elementary data container, all member functions are specified as noexcept and fully exception-safe ([SWS_DM_01749] to [SWS_DM_01757]). Neither are C++ exceptions thrown nor are error codes returned in the form of ara::core::Result.

Error situations in the application thus do not arise from API error codes, but rather from semantic misinterpretations or synchronization errors. Typical risks are concurrent write accesses via assignment operators without mutex protection ([SWS_DM_01749], [SWS_DM_01750]) or an erroneous assumption that the EventStatusByte is modified by combined DTCs, even though according to the specification it remains strictly bound to the single event (AUTOSAR_AP_SWS_Diagnostics p. 234).

This guide is based on the specification AUTOSAR Adaptive R25-11 and summarizes the properties of the class according to the document AUTOSAR_AP_SWS_Diagnostics.

Member map

Class diagram

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

G nara__diag__EventStatusByte808 «struct» EventStatusByte + EventStatusByte() + operator=() + IsFailedAndTested() + IsNotSet() + IsPassedAndTested() + IsSet()

Detail view

Select an entry in the outline.

Constructors and destructor

EventStatusByte function 3

Move constructor.

Overloads EventStatusByte 3
constexpr EventStatusByte (EventStatusByte &&other) noexcept; SWS_DM_01751
constexpr EventStatusByte (const EventStatusByte &other) noexcept=default; SWS_DM_01752
template <typename... Args> constexpr EventStatusByte (Args... bits) noexcept; SWS_DM_01753

Methods

Retrieve the value of the bits kTestFailed and kTestFailedThisOperationCycle.

constexpr bool IsFailedAndTested () const noexcept;
IsNotSet function

Whether all EventStatusBits passed as parameter are not set.

template <typename... Args> constexpr bool IsNotSet (Args... bits) const noexcept;

Retrieve the value of the bits kTestFailed and kTestNotCompletedThisOperationCycle.

constexpr bool IsPassedAndTested () const noexcept;
IsSet function

Whether all EventStatusBits passed as parameter are set.

template <typename... Args> constexpr bool IsSet (Args... bits) const noexcept;

Operators

operator= function 2

Move assignment operator.

Overloads = 2
constexpr EventStatusByte & operator= (EventStatusByte &&other) noexcept; SWS_DM_01749
constexpr EventStatusByte & operator= (const EventStatusByte &other) noexcept; SWS_DM_01750

Method documentation

function EventStatusByte [SWS_DM_01751] Upstream: RS_Diag_04151

constexpr EventStatusByte (EventStatusByte &&other) noexcept;

Move constructor.

Header-Datei#include "ara/diag/event_types.h"
Scopestruct ara::diag::EventStatusByte
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
otherObject to move-construct from.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01751
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01751@rel:R25-11#80ee6eef
Content hash
80ee6eef
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01751
Status: valid/unmigrated Version: rel:R25-11#9fd850aa Versionshistorie & Revisions (1 transition, 4 revision)
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_01751@rel:R25-11#9fd850aa
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#80ee6eef2026-09-30
  • R23-11rel:R23-11#f03839ca2026-10-14
  • R24-11rel:R24-11#83bfcbc82026-10-14
  • R25-11rel:R25-11#9fd850aa2026-10-14 active
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

function EventStatusByte [SWS_DM_01752] Upstream: RS_Diag_04151

constexpr EventStatusByte (const EventStatusByte &other) noexcept=default;

Copy constructor.

Header-Datei#include "ara/diag/event_types.h"
Scopestruct ara::diag::EventStatusByte
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherObject to copy-construct from.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01752
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01752@rel:R25-11#074496fc
Content hash
074496fc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01752
Status: valid/unmigrated Version: rel:R25-11#a5ed8b72 Versionshistorie & Revisions (1 transition, 4 revision)
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_01752@rel:R25-11#a5ed8b72
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#074496fc2026-09-30
  • R23-11rel:R23-11#cddbd9ff2026-10-14
  • R24-11rel:R24-11#03433e4b2026-10-14
  • R25-11rel:R25-11#a5ed8b722026-10-14 active
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

function EventStatusByte [SWS_DM_01753] Upstream: RS_Diag_04151

template <typename... Args> constexpr EventStatusByte (Args...              bits) noexcept;

Construct an EventStatusByte where all EventStatusBits passed as parameter are set.

Header-Datei#include "ara/diag/event_types.h"
Scopestruct ara::diag::EventStatusByte
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
bitsThe EventStatusBits that shall be set.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01753
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01753@rel:R25-11#18617b5d
Content hash
18617b5d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01753
Status: valid/unmigrated Version: rel:R25-11#9c842ffa Versionshistorie & Revisions (1 transition, 4 revision)
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_01753@rel:R25-11#9c842ffa
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#18617b5d2026-09-30
  • R23-11rel:R23-11#5403ab172026-10-14
  • R24-11rel:R24-11#c9fdf3532026-10-14
  • R25-11rel:R25-11#9c842ffa2026-10-14 active
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

function IsFailedAndTested [SWS_DM_01757] Upstream: RS_Diag_04151

constexpr bool IsFailedAndTested () const noexcept;

Retrieve the value of the bits kTestFailed and kTestFailedThisOperationCycle.

Header-Datei#include "ara/diag/event_types.h"
Scopestruct ara::diag::EventStatusByte
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
boolTRUE: if bits kTestFailed AND kTestFailedThisOperationCycle are set, else FALSE

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01757
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01757@rel:R25-11#3228b78e
Content hash
3228b78e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01757
Status: valid/unmigrated Version: rel:R25-11#b6349a53 Versionshistorie & Revisions (1 transition, 4 revision)
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_01757@rel:R25-11#b6349a53
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#3228b78e2026-09-30
  • R23-11rel:R23-11#c4166a272026-10-14
  • R24-11rel:R24-11#b3548d412026-10-14
  • R25-11rel:R25-11#b6349a532026-10-14 active
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

function IsNotSet [SWS_DM_01754] Upstream: RS_Diag_04151

template <typename... Args> constexpr bool IsNotSet (Args...            bits) const noexcept;

Whether all EventStatusBits passed as parameter are not set.

Header-Datei#include "ara/diag/event_types.h"
Scopestruct ara::diag::EventStatusByte
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
bitsThe EventStatusBits to check.

Rückgabewert

TypBeschreibung
boolTRUE: if all EventStatusBits passed as parameter are NOT set, else FALSE.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01754
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01754@rel:R25-11#2bbf9bb9
Content hash
2bbf9bb9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01754
Status: valid/unmigrated Version: rel:R25-11#47d87a6e Versionshistorie & Revisions (1 transition, 4 revision)
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_01754@rel:R25-11#47d87a6e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#2bbf9bb92026-09-30
  • R23-11rel:R23-11#953465af2026-10-14
  • R24-11rel:R24-11#6ca8eb662026-10-14
  • R25-11rel:R25-11#47d87a6e2026-10-14 active
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

function IsPassedAndTested [SWS_DM_01756] Upstream: RS_Diag_04151

constexpr bool IsPassedAndTested () const noexcept;

Retrieve the value of the bits kTestFailed and kTestNotCompletedThisOperationCycle.

Header-Datei#include "ara/diag/event_types.h"
Scopestruct ara::diag::EventStatusByte
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
boolTRUE: if bits kTestFailed AND kTestNotCompletedThisOperationCycle are NOT set, else FALSE

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01756
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01756@rel:R25-11#31cb55a7
Content hash
31cb55a7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01756
Status: valid/unmigrated Version: rel:R25-11#83d466e9 Versionshistorie & Revisions (1 transition, 4 revision)
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_01756@rel:R25-11#83d466e9
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#31cb55a72026-09-30
  • R23-11rel:R23-11#a372be6d2026-10-14
  • R24-11rel:R24-11#737a4c7c2026-10-14
  • R25-11rel:R25-11#83d466e92026-10-14 active
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

function IsSet [SWS_DM_01755] Upstream: RS_Diag_04151

template <typename... Args> constexpr bool IsSet (Args...            bits) const noexcept;

Whether all EventStatusBits passed as parameter are set.

Header-Datei#include "ara/diag/event_types.h"
Scopestruct ara::diag::EventStatusByte
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
bitsThe EventStatusBits to check.

Rückgabewert

TypBeschreibung
boolTRUE: if all EventStatusBits passed as parameter are set, else FALSE.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01755
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01755@rel:R25-11#78b4f55e
Content hash
78b4f55e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01755
Status: valid/unmigrated Version: rel:R25-11#c9475089 Versionshistorie & Revisions (1 transition, 4 revision)
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_01755@rel:R25-11#c9475089
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#78b4f55e2026-09-30
  • R23-11rel:R23-11#1445ccf82026-10-14
  • R24-11rel:R24-11#b0fe50ac2026-10-14
  • R25-11rel:R25-11#c94750892026-10-14 active
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

function operator= [SWS_DM_01749] Upstream: RS_Diag_04151

constexpr EventStatusByte & operator= (EventStatusByte &&other) noexcept;

Move assignment operator.

Header-Datei#include "ara/diag/event_types.h"
Scopestruct ara::diag::EventStatusByte
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
otherObject to move-assign from.

Rückgabewert

TypBeschreibung
EventStatusByte &EventStatusByte & Reference to self.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01749
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01749@rel:R25-11#8e539e8a
Content hash
8e539e8a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01749
Status: valid/unmigrated Version: rel:R25-11#69a39917 Versionshistorie & Revisions (1 transition, 4 revision)
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_01749@rel:R25-11#69a39917
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#8e539e8a2026-09-30
  • R23-11rel:R23-11#a8696e712026-10-14
  • R24-11rel:R24-11#bcd0e38b2026-10-14
  • R25-11rel:R25-11#69a399172026-10-14 active
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

function operator= [SWS_DM_01750] Upstream: RS_Diag_04151

constexpr EventStatusByte & operator= (const EventStatusByte &other) noexcept;

Copy assignment operator.

Header-Datei#include "ara/diag/event_types.h"
Scopestruct ara::diag::EventStatusByte
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
otherObject to copy-assign from.

Rückgabewert

TypBeschreibung
EventStatusByte &EventStatusByte & Reference to self.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01750
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01750@rel:R25-11#674831a9
Content hash
674831a9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01750
Status: valid/unmigrated Version: rel:R25-11#f85fa63e Versionshistorie & Revisions (1 transition, 4 revision)
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_01750@rel:R25-11#f85fa63e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#674831a92026-09-30
  • R23-11rel:R23-11#b7108fbb2026-10-14
  • R24-11rel:R24-11#de77ff602026-10-14
  • R25-11rel:R25-11#f85fa63e2026-10-14 active
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