DEENESPTFRRUARHIKOZHNL

class ara::core::Bitset::reference

[SWS_CORE_01759]

class reference {...};

Implements std::bitset::reference type from [bitset]

Header-Datei#include "ara/core/bitset.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopeclass ara::core::Bitset

User GuideKI-GENERIERT

Dient als Proxy-Objekt für den schreibenden Zugriff und die Invertierung einzelner Bits in einem Bitset.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 9b7177bcd0af Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient als Proxy-Objekt für den schreibenden Zugriff und die Invertierung einzelner Bits in einem Bitset.

Die Hilfsklasse ara::core::Bitset::reference fungiert als Proxy-Typ für den lvalue-artigen Zugriff auf einzelne Bits eines ara::core::Bitset. Sie ermöglicht die gezielte Modifikation des referenzierten Bitwerts, insbesondere dessen Invertierung über die Elementfunktion flip() gemäß [SWS_CORE_01712]. Durch die Deklaration von flip() als noexcept ist die Operation garantiert ausnahmesicher [SWS_CORE_01712]. Als wesentliche Randbedingung bleibt das Proxy-Objekt interpretationsgemäß nur während der Lebensdauer des umschließenden Containers gültig.

Kontext

Die geschachtelte Hilfsklasse ara::core::Bitset::reference fungiert innerhalb des Moduls core der AUTOSAR Adaptive Platform als Proxy-Objekt für den Zugriff auf einzelne Bits in einem ara::core::Bitset. Da einzelne Bits im C++-Typsystem keine eigenständige Speicheradresse besitzen und somit nicht direkt als native Referenz (bool&) abgebildet werden können, implementiert reference das Konzept von std::bitset::reference aus dem C++-Standard [bitset]. Die Klasse dient als Vermittler zwischen dem aufrufenden Code und dem internen Bit-Speicher des Containers ara::core::Bitset. Sie ermöglicht es Entwicklern, ein einzelnes Bit syntaktisch und semantisch wie eine modifizierbare Referenz zu behandeln, indem Operationen auf dem Proxy unmittelbar auf das zugrundeliegende Bit im Bitset abgebildet werden. Wesentlicher Bestandteil dieser Schnittstelle ist die Elementfunktion flip() gemäß [SWS_CORE_01712], welche eine direkte Zustandsinversion des adressierten Bits bereitstellt.

Lebenszyklus

Instanzen von ara::core::Bitset::reference besitzen typischerweise einen kurzlebigen Charakter. Die Erzeugung erfolgt interpretationsgemäß nicht als frei stehendes Objekt durch den Anwendungsentwickler, sondern wird intern durch die nicht-konstanten Zugriffsmechanismen des Containers ara::core::Bitset initiiert, wenn ein Lvalue-Zugriff auf eine bestimmte Bitposition angefordert wird. Das erzeugte Proxy-Objekt bindet sich logisch an die spezifische Bitposition und den zugrundeliegenden Speicherbereich des Containers. Die Lebensdauer der reference-Instanz ist somit streng an die Existenz des umschließenden Bitset-Objekts gekoppelt: Wird das referenzierte Bitset zerstört oder sein Speicher ungültig, führt ein nachträglicher Zugriff über das Proxy-Objekt vermutlich zu undefiniertem Verhalten (Dangling Reference). Frage Q-44ce3478c9a2d987 (offen) Nach Abschluss von Operationen wie der Bitinversion über flip() gemäß [SWS_CORE_01712] wird das temporäre Objekt in der Regel unmittelbar verworfen. Hinsichtlich der Nebenläufigkeit ist zu beachten, dass gleichzeitige schreibende Zugriffe auf verschiedene oder identische Bits desselben Containers über separate reference-Instanzen ohne externe Synchronisation vermutlich nicht thread-sicher sind.

Nutzungspfad

Der primäre Anwendungsfall von ara::core::Bitset::reference besteht in der gezielten Abfrage und Modifikation einzelner Bitwerte. Im typischen Ablauf greift ein Aufrufer über den Indexoperator auf eine Bitposition in ara::core::Bitset zu, wodurch ein temporäres reference-Objekt zurückgegeben wird. Auf dieser Referenz können nun modifizierende Operationen durchgeführt werden. Speziell für die Invertierung des Bitwerts stellt die Klasse die Elementfunktion flip() bereit, welche gemäß [SWS_CORE_01712] spezifiziert ist. Diese Methode invertiert den aktuellen Zustand des referenzierten Bits (aus 0 wird 1, aus 1 wird 0) und gibt eine Lvalue-Referenz auf das Proxy-Objekt selbst (reference&) zurück. Dies erlaubt eine Verkettung weiterer Aufrufe oder eine direkte Weiterverwendung des modifizierten Ergebnisses.

Invertierung eines Bits über reference::flipAnwenderara::core::Bitsetara::core::Bitset::referenceoperator[](pos)reference-Instanzflip()Zustand des Bits an Position pos invertierenreference& (*this)

Sequenzdiagramm: Typischer Ablauf der Bit-Invertierung über das Proxy-Objekt reference. Quellen: [SWS_CORE_01712]

Fehlerszenarien

Die Klasse ara::core::Bitset::reference zeichnet sich durch ein auf Robustheit und Performance ausgelegtes Design aus. Für die zentrale Elementfunktion flip() ist gemäß [SWS_CORE_01712] explizit die Ausnahme-Sicherheit „exception safe“ sowie der Bezeichner noexcept festgelegt. Das bedeutet, dass der Aufruf von flip() garantiert keine C++-Ausnahmen auslöst. Fehlerzustände oder Ausnahmebehandlungen treten bei diesem Aufruf somit nicht auf; Vorbedingung für die fehlerfreie Ausführung ist die Gültigkeit der zugrundeliegenden Referenz auf das Container-Objekt.

Dieser Leitfaden wurde durch eine KI auf Basis der AUTOSAR-Spezifikation für die Adaptive Platform (Release R25-11) erstellt.

UML-Klassendiagramm

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

G nara__core__Bitset__reference533 reference + flip()

Methoden

flip function

≙ [bitset]

reference & ara::core::Bitset< N >::reference::flip () noexcept;

Dokumentation der Methoden

function flip [SWS_CORE_01712] Upstream: RS_AP_00130

reference & ara::core::Bitset< N >::reference::flip () noexcept;

As per corresponding usage in [bitset]

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 717c5ca36cdd Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Elementfunktion flip der Proxy-Klasse ara::core::Bitset::reference dient der Invertierung des aktuell referenzierten Bits [SWS_CORE_01712]. Sie ist über die Header-Datei ara/core/bitset.h deklariert. Der Aufruf erfolgt parameterlos direkt auf einer bestehenden Referenzinstanz. Als Rückgabewert liefert die Funktion eine Referenz auf das modifizierte reference-Objekt (reference&) zurück. Interpretation: Gemäß der Spezifikationsangabe „As per corresponding usage in [bitset]“ dürfte das Verhalten dem von std::bitset::reference::flip entsprechen, wodurch der Bitwert negiert und *this zurückgegeben wird. Frage Q-23d82576a1b93125 (offen)

Fehlerbehandlung und Ausnahmesicherheit

Die Schnittstelle ist als noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_CORE_01712]. Spezifische Fehlerzustände oder Fehlercodes treten nicht auf, da keine Parameter übergeben werden und keine Bereichsprüfungen erforderlich sind.

Zusammenspiel im Modul

Innerhalb von ara::core::Bitset ergänzt die Funktion die weiteren Invertierungsoperationen des Moduls:

  • ara::core::Bitset::reference::flip kippt gezielt das über die Referenz adressierte Einzelbit [SWS_CORE_01712].
  • ara::core::Bitset::flip() invertiert synchron alle Bits des gesamten Bitsets ohne Parameter und gibt eine Referenz auf das Bitset zurück [SWS_CORE_01730].
  • ara::core::Bitset::flip(std::size_t pos) kehrt das Bit an der Indexposition pos um und liefert ein Result zurück, das bei ungültigem Index mit IsoStdOutOfRangeViolation fehlschlägt [SWS_CORE_01731].

Dieser Text wurde durch eine KI erstellt und kuratiert.

Header-Datei#include "ara/core/bitset.h"
Scopeclass ara::core::Bitset::reference
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CORE_01712
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_01712@rel:R25-11#aa62487c
Content hash
aa62487c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_01712
Status: valid/unmigrated Version: rel:R25-11#aa62487c Versionshistorie & Revisions (1 transition)
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_CORE_01712@rel:R25-11#aa62487c
Point-in-Time History:
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