DEENESPTFRRUARHIKOZHNL

class ara::com::SamplePtr

[SWS_CM_00306] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

template <typename T> class SamplePtr {...};

Emulates a std::unique_ptr to an event sample.

The ara::com::SamplePtr behaves as a std::unique_ptr as long as the event/ field is subscribed to, or the Proxy it belongs to is not destroyed. The precondition defined in [SWS_CM_00085] and [SWS_CM_00087] must be fulfilled. Otherwise it is considered a violation.

Note: The SamplePtr is always passed with a const SampleType to the callable in GetNewSamples() (see [SWS_CM_00701]). Therefore the sample datatype (typename T) and the SamplePtr operators using the sample datatype (typename T) are implicitly declared as const. This means that the sample data will always be read-only.

Header-Datei#include "ara/com/service/sample_ptr.h"
Forwarding-Header#include "ara/com/com_fwd.h"
Scopenamespace ara::com

User GuideKI-GENERIERT

Ermöglicht den exklusiven Lesezugriff auf empfangene Ereignisse und steuert die Lebensdauer des Middleware-Speichers.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f5d97c2beaf2 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht den exklusiven Lesezugriff auf empfangene Ereignisse und steuert die Lebensdauer des Middleware-Speichers.

Die Template-Klasse kapselt den exklusiven Besitz empfangener Ereignis-Samples nach dem Vorbild von std::unique_ptr und gewährt der Anwendung direkten, unveränderlichen Lesezugriff auf Puffer der Middleware (EXP ARAComAPI §5.3.5.4). Instanzen werden bei der Abfrage neuer Samples übergeben, lassen sich ausschließlich per Move-Semantik übertragen und halten den Speicherplatz belegt ([SWS_CM_11537]). Erst die Zerstörung des Zeigers oder eine explizite Nullung gibt den Puffer-Slot wieder frei. Die Gültigkeit setzt voraus, dass das Ereignis abonniert bleibt und der zugehörige Proxy existiert.

Kontext

Die Template-Klasse ara::com::SamplePtr stellt in der Adaptive Platform das zentrale Zugriffs- und Besitzmodell für empfangene Ereignisdaten (Event Samples) dar (EXP ARAComAPI §5.3.5.4). Semantisch bildet die Klasse einen exklusiven Smart-Pointer nach dem Vorbild von std::unique_ptr nach (EXP ARAComAPI §5.3.5.4). Die primären Interaktionspartner sind die Anwendungsebene, das empfangende Event- bzw. Proxy-Objekt und die zugrunde liegende Kommunikations-Middleware ara::com, welche die Pufferressourcen verwaltet (EXP ARAComAPI, S. 44, EXP ARAComAPI, S. 50).

Das Konzept verfolgt ausdrücklich einen referenzbasierten Zero-Copy-Ansatz: Anstatt Ereignisdaten per Wertkopie an die Anwendung zu übergeben, reicht ara::com Zeiger bzw. Referenzen auf zentrale Kommunikationspuffer weiter (EXP ARAComAPI, S. 50). In typischen 1:N-Verteilungsszenarien können lokale Ereignis-Caches dadurch rein über Referenzaktualisierungen bedient werden, was den Speicheraufwand und die Latenz minimiert (EXP ARAComAPI, S. 50). Der Zugriff auf die Nutzdaten ist konzeptionell strikt lesend ausgelegt: Bei der Bereitstellung wird SamplePtr stets mit einem konstanten Nutzdatentyp instanziiert (ara::com::SamplePtr<SampleType const>), womit alle Zugriffsoperatoren implizit konstant sind (EXP ARAComAPI, S. 39, EXP ARAComAPI, S. 44, [SWS_CM_00701]).

Lebenszyklus

Instanzen von SamplePtr können als leere Zeiger über den Standardkonstruktor oder mit nullptr erzeugt werden ([SWS_CM_11534], [SWS_CM_11535]). Gültige, mit Nutzdaten belegte Instanzen entstehen hingegen innerhalb der Middleware bei der Deserialisierung von Ereignissen in Puffer-Slots und werden im Rahmen von GetNewSamples() an ein anwendungsseitiges Callable übergeben (EXP ARAComAPI, S. 44).

Mit der Übergabe findet ein vollständiger Eigentumsübergang (Ownership Transfer) an die Anwendung statt (EXP ARAComAPI §5.3.5.4). Um die Exklusivität des Besitzes zu garantieren, sind Kopierkonstruktor und Kopierzuweisungsoperator gelöscht ([SWS_CM_11536], [SWS_CM_11538]). Eine Übertragung des verwalteten Speicher-Slots ist ausschließlich über Move-Konstruktion oder Move-Zuweisung möglich ([SWS_CM_11537], [SWS_CM_11540]), während Swap() den Tausch zweier Zeigerinhalte erlaubt ([SWS_CM_11544]).

Solange eine SamplePtr-Instanz existiert und das Sample hält, kann die Middleware den belegten Speicherplatz nicht zurückfordern oder neu beschreiben (EXP ARAComAPI §5.3.5.4). Die Freigabe des Middleware-Slots erfolgt erst, wenn die Lebensdauer des SamplePtr durch Aufruf des Destruktors endet ([SWS_CM_11547]) oder der Zeiger explizit mittels Reset(nullptr) bzw. Zuweisung von nullptr geleert wird ([SWS_CM_11539], [SWS_CM_11545]).

diag_lebenszyklus Init Leer Leer (nullptr) Init->Leer SamplePtr() Verwaltend Verwaltend (Exklusiver Besitz) Init->Verwaltend GetNewSamples() Leer->Verwaltend Move-Zuweisung Zerstoert Zerstört Leer->Zerstoert ~SamplePtr() Verwaltend->Leer Reset(nullptr) Verwaltend->Verwaltend Swap() Verwaltend->Zerstoert ~SamplePtr()

Zustandsdiagramm: Lebenszyklusphasen und Besitzübergänge eines SamplePtr. Quellen: [SWS_CM_11534], [SWS_CM_11537], [SWS_CM_11545], [SWS_CM_11547], EXP ARAComAPI §5.3.5.4.

Nutzungspfad

Der typische Ablauf des Datenzugriffs gliedert sich in folgende Schritte:

  1. Sample-Abfrage anstoßen: Die Anwendung ruft am Ereignis-Proxy GetNewSamples() auf und übergibt eine passende Callback-Funktion mit der Signatur void(ara::com::SamplePtr<SampleType const>) sowie eine Obergrenze für die Anzahl abzuholender Samples (EXP ARAComAPI, S. 44).
  2. Übergabe an den Callback: Liegen neue Daten vor und ist das Pufferkontingent nicht erschöpft, deserialisiert die Middleware das Sample und übergibt die neue SamplePtr-Instanz an das Callback (EXP ARAComAPI, S. 44).
  3. End-to-End-Status prüfen: Über GetProfileCheckStatus() kann die Anwendung das Ergebnis der E2E-Schutzprüfung für das vorliegende Datenpaket abfragen ([SWS_CM_90420]).
  4. Daten lesen: Die Anwendungslogik greift über operator* ([SWS_CM_11541]), operator-> ([SWS_CM_11542]) oder die Methode Get() ([SWS_CM_11546]) lesend auf das verwaltete Objekt zu.
  5. Weiterverarbeitung oder Freigabe: Soll das Sample über den Callback hinaus persistiert werden, verschiebt die Anwendung den Zeiger per Move-Konstruktion in eigene Speicherstrukturen ([SWS_CM_11537]). Verbleibt der Zeiger im Gültigkeitsbereich des Callbacks, wird er beim Verlassen automatisch zerstört ([SWS_CM_11547]), was den Slot in der Middleware umgehend freigibt (EXP ARAComAPI §5.3.5.4).
Ablauf der Sample-Bereitstellung und SpeicherverwaltungAnwendungProxy / Eventara::com MiddlewareGetNewSamples(f, maxNumberOfSamples)Prüfe gehaltene Samples gegen KontingentaltKontingent überschrittenRückgabe ErrorCodePuffer enthält neues SampleDeserialisierung in Sample-Slotf(SamplePtr<SampleType const>)Besitzübernahme; lesender Zugriff via * / -> / Get() und E2E-PrüfungZerstörung (~SamplePtr) oder Reset(nullptr)Freigabe des Speicher-SlotsResult(Anzahl verarbeiteter Samples)

Sequenzdiagramm: Interaktionsfolge bei GetNewSamples() mit Besitzübertragung und Pufferfreigabe. Quellen: [SWS_CM_11541], [SWS_CM_11547], [SWS_CM_90420], EXP ARAComAPI, S. 44, EXP ARAComAPI §5.3.5.4.

Fehlerszenarien

Beim Einsatz von SamplePtr sind spezifische Randbedingungen und Fehlerquellen zu beachten:

  • Erschöpfung des Pufferkontingents: Die Middleware überwacht bei jedem Aufruf von GetNewSamples(), ob die Anzahl der aktuell von der Anwendung gehaltenen Samples das zuvor beim Aufruf von Subscribe() zugesicherte Kontingent überschreitet. Ist das Kontingent überschritten, verweigert GetNewSamples() die Ausgabe weiterer Samples und gibt stattdessen einen ara::core::ErrorCode zurück (EXP ARAComAPI, S. 44, EXP ARAComAPI, S. 45).
  • Ungültigkeit durch Abonnementverlust oder Proxy-Zerstörung: SamplePtr verhält sich nur solange deterministisch wie ein std::unique_ptr, wie das zugrunde liegende Ereignis abonniert bleibt und die übergeordnete Proxy-Instanz existiert. Das Vorhalten von Zeigern über das Ende des Abonnements oder die Zerstörung des Proxys hinaus gilt als Verletzung der Vorbedingungen.
  • Zeigergültigkeit und Null-Zustand: Über operator bool() lässt sich der Belegungszustand des Zeigers auswerten ([SWS_CM_11543]). Die Dereferenzierung eines leeren Zeigers via operator* oder operator-> führt zu undefiniertem Verhalten. Alle Zugriffs- und Modifikationsmethoden sind als noexcept deklariert ([SWS_CM_11541], [SWS_CM_11542], [SWS_CM_11546]).
  • E2E-Validierungsfehler: Ein gültig empfangener Zeiger garantiert nicht zwingend fehlerfreie Übertragungsdaten; über den Rückgabewert von GetProfileCheckStatus() muss die Anwendung prüfen, ob die End-to-End-Absicherung Datenkorruption oder Übertragungsverzögerungen signalisiert ([SWS_CM_90420]).

Dieser Klassen-Leitfaden wurde durch einen KI-Kurations-Assistenten auf Basis der AUTOSAR-Spezifikationen für Adaptive Platform Release R25-11 generiert.

Mitgliederkarte

Klassendiagramm

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

G nara__com__SamplePtr589 SamplePtr + SamplePtr() + operator=() + ~SamplePtr() + Get() + GetProfileCheckStatus() + Reset() + Swap() + operator bool() + operator*() + operator->()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

SamplePtr function 4

Default constructor

Überladungen SamplePtr 4
constexpr SamplePtr () noexcept; SWS_CM_11534
constexpr SamplePtr (std::nullptr_t other) noexcept; SWS_CM_11535
SamplePtr (const SamplePtr &)=delete; SWS_CM_11536
SamplePtr (SamplePtr &&other) noexcept; SWS_CM_11537
~SamplePtr function

Destructor

~SamplePtr () noexcept;

Methoden

Get function

Returns a pointer to the managed object.

T * Get () const noexcept;

Returns the E2E protection check result

ara::com::e2e::ProfileCheckStatus GetProfileCheckStatus () const noexcept;
Reset function

Replaces the managed object.

void Reset (std::nullptr_t other) noexcept;
Swap function

Swaps the managed object.

void Swap (SamplePtr &other) noexcept;

Operatoren

operator bool function

Checks if the stored pointer is null

explicit operator bool () const noexcept;
operator* function

Dereferences the stored pointer.

T & operator* () const noexcept;
operator-> function

Dereferences the stored pointer.

T * operator-> () const noexcept;
operator= function 3

Copy assignment constructor deletion

Überladungen = 3
SamplePtr & operator= (const SamplePtr &)=delete; SWS_CM_11538
SamplePtr & operator= (std::nullptr_t other) noexcept; SWS_CM_11539
SamplePtr & operator= (SamplePtr &&other) noexcept; SWS_CM_11540

Dokumentation der Methoden

function Get [SWS_CM_11546] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

T * Get () const noexcept;

Returns a pointer to the managed object.

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

Verwendung und Semantik

Die Funktion Get ist eine parameterlose Elementfunktion der Klasse ara::com::SamplePtr aus dem Header ara/com/service/sample_ptr.h [SWS_CM_11546]. Sie liefert synchron einen Rohzeiger vom Typ T* auf das durch die Instanz verwaltete Objekt zurück [SWS_CM_11546]. Im Unterschied zu asynchronen Abfragen von Service-Feldern, die ein ara::core::Future bereitstellen [SWS_CM_00112], erfolgt dieser Zugriff unmittelbar im aufrufenden Thread.

Fehlerbehandlung und Randbedingungen

Die Methode ist als noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_CM_11546]; Fehlerzustände über C++-Exceptions treten nicht auf. Falls die Instanz aktuell kein Objekt verwaltet, dürfte der zurückgegebene Zeiger vermutlich nullptr sein. Frage Q-d850bd8ee144369a (offen) Vor der Weiterverarbeitung des referenzierten Datums muss sichergestellt sein, dass die E2E-Überwachung den Zustand ara::com::e2e::SMState::kValid aufweist und die Statusprüfung des Profils keinen Fehler ergab [SWS_CM_90422].

Zusammenspiel und Abgrenzung

Im Kommunikationsmanagement dient Get dem direkten Datenzugriff auf empfangene Werte (Samples), wie sie im Rahmen des Sample-Managements bereitgestellt werden AUTOSAR_AP_EXP_ARAComAPI §10 „GetNewSamples“. Diese Funktion ist klar von anderen Get-Operationen abzugrenzen:

  • Feld-Getter: Das Abrufen von Service-Feldern am Proxy geschieht über Get() mit Rückgabe eines ara::core::Future [SWS_CM_00112], wofür serverseitig ein Handler registriert werden kann [SWS_CM_00114].
  • E2E-Zustand: Der Überwachungszustand eines Feld-Getters wird separat über GetE2EStateMachineStateGetter ermittelt [SWS_CM_00145].

Dieser Text wurde von einer KI erstellt und basiert auf dem AUTOSAR-Release R25-11.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
T*A pointer to the managed object

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

Record
AUTOSAR/AP/record/SWS_CM_11546
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11546@rel:R25-11#19683df2
Content hash
19683df2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11546
Status: valid/unmigrated Version: rel:R25-11#ff040cc4 Versionshistorie & Revisions (1 transition, 3 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_CM_11546@rel:R25-11#ff040cc4
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#19683df22026-09-30
  • R24-11rel:R24-11#83411fd82026-10-14
  • R25-11rel:R25-11#ff040cc42026-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 GetProfileCheckStatus [SWS_CM_90420] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

ara::com::e2e::ProfileCheckStatus GetProfileCheckStatus () const noexcept;

Returns the E2E protection check result

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
ara::com::e2e::ProfileCheckStatusThe ara::com::e2e::ProfileCheckStatus

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

Record
AUTOSAR/AP/record/SWS_CM_90420
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90420@rel:R25-11#35d07221
Content hash
35d07221
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90420
Status: valid/unmigrated Version: rel:R25-11#0b9ab03a Versionshistorie & Revisions (1 transition, 8 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_CM_90420@rel:R25-11#0b9ab03a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#35d072212026-09-30
  • R19-11rel:R19-11#8060df8d2026-10-14
  • R20-11rel:R20-11#8060df8d2026-10-14
  • R21-11rel:R21-11#8060df8d2026-10-14
  • R22-11rel:R22-11#8060df8d2026-10-14
  • R23-11rel:R23-11#8060df8d2026-10-14
  • R24-11rel:R24-11#331b13032026-10-14
  • R25-11rel:R25-11#0b9ab03a2026-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 Reset [SWS_CM_11545] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

void Reset (std::nullptr_t other) noexcept;

Replaces the managed object.

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

Die Elementfunktion Reset der Klasse ara::com::SamplePtr dient dem Zurücksetzen des Zeigers auf das verwaltete Objekt [SWS_CM_11545]. Als Parameter übernimmt sie den Wert other vom Typ std::nullptr_t. Der Aufruf ersetzt das aktuell gehaltene Objekt durch einen Nullzeiger und gibt keinen Wert zurück (void) [SWS_CM_11545].

Hinsichtlich der Fehlerbehandlung und Ausnahme-Sicherheit ist die Methode mit noexcept deklariert und als uneingeschränkt ausnahmesicher (exception safe) spezifiziert [SWS_CM_11545]. Es werden weder C++-Exceptions geworfen noch spezifische Fehlercodes zurückgemeldet.

Im Gesamtsystem erfüllt das Freigeben von SamplePtr-Instanzen eine wesentliche Vorbedingung zur Vermeidung von Speicherfehlern:

Interpretation: Der explizite Aufruf von Reset(nullptr) dürfte in Anwendungsszenarien das direkte Mittel sein, um die Besitzschaft an einem Event-Sample deterministisch vor solchen Lebenszyklusübergängen aufzugeben, wenn der Zeiger nicht automatisch seinen Gültigkeitsbereich verlässt. Frage Q-a615fa4078ab03ce (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation R25-11 erstellt.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherA replacing std::nullptr_t

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_11545
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11545@rel:R25-11#82ec68c8
Content hash
82ec68c8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11545
Status: valid/unmigrated Version: rel:R25-11#93bd20e9 Versionshistorie & Revisions (1 transition, 3 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_CM_11545@rel:R25-11#93bd20e9
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#82ec68c82026-09-30
  • R24-11rel:R24-11#d3c7100f2026-10-14
  • R25-11rel:R25-11#93bd20e92026-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 SamplePtr [SWS_CM_11534] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

constexpr SamplePtr () noexcept;

Default constructor

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CM_11534
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11534@rel:R25-11#b186477a
Content hash
b186477a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11534
Status: valid/unmigrated Version: rel:R25-11#d0884e08 Versionshistorie & Revisions (1 transition, 3 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_CM_11534@rel:R25-11#d0884e08
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#b186477a2026-09-30
  • R24-11rel:R24-11#78fdb2182026-10-14
  • R25-11rel:R25-11#d0884e082026-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 SamplePtr [SWS_CM_11535] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

constexpr SamplePtr (std::nullptr_t other) noexcept;

Semantically equivalent to [SWS_CM_11534]

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherA std::nullptr_t to copy

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

Record
AUTOSAR/AP/record/SWS_CM_11535
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11535@rel:R25-11#fa854bdf
Content hash
fa854bdf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11535
Status: valid/unmigrated Version: rel:R25-11#6e679051 Versionshistorie & Revisions (1 transition, 3 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_CM_11535@rel:R25-11#6e679051
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#fa854bdf2026-09-30
  • R24-11rel:R24-11#123387c32026-10-14
  • R25-11rel:R25-11#6e6790512026-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 SamplePtr [SWS_CM_11536] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

SamplePtr (const SamplePtr &)=delete;

Copy constructor deletion

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr

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

Record
AUTOSAR/AP/record/SWS_CM_11536
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11536@rel:R25-11#3909673e
Content hash
3909673e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11536
Status: valid/unmigrated Version: rel:R25-11#1ab46188 Versionshistorie & Revisions (1 transition, 3 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_CM_11536@rel:R25-11#1ab46188
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#3909673e2026-09-30
  • R24-11rel:R24-11#1ab461882026-10-14
  • R25-11rel:R25-11#1ab461882026-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 SamplePtr [SWS_CM_11537] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

SamplePtr (SamplePtr &&other) noexcept;

Move constructor

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::SamplePtr to move

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

Record
AUTOSAR/AP/record/SWS_CM_11537
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11537@rel:R25-11#0fee2242
Content hash
0fee2242
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11537
Status: valid/unmigrated Version: rel:R25-11#3c5f39c0 Versionshistorie & Revisions (1 transition, 3 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_CM_11537@rel:R25-11#3c5f39c0
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#0fee22422026-09-30
  • R24-11rel:R24-11#165c3cab2026-10-14
  • R25-11rel:R25-11#3c5f39c02026-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 Swap [SWS_CM_11544] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

void Swap (SamplePtr &other) noexcept;

Swaps the managed object.

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

Verwendung

Die Funktion Swap ist eine Elementmethode der Klasse ara::com::SamplePtr und dient dem Vertauschen des aktuell verwalteten Objekts mit einer anderen Instanz ([SWS_CM_11544]). Die Schnittstelle ist im Header ara/com/service/sample_ptr.h definiert (AUTOSAR_AP_SWS_CommunicationManagement §8.9.1.1.3.4 „Swap“).

Der Aufruf erfolgt synchron und erwartet folgenden Parameter:

  • other: Referenz auf eine weitere Instanz von ara::com::SamplePtr, deren verwaltetes Objekt mit dem von *this ausgetauscht wird ([SWS_CM_11544]).

Die Methode besitzt keinen Rückgabewert (void) ([SWS_CM_11544]).

Fehlerbehandlung

Die Signatur ist mit noexcept deklariert und als ausnahmesicher (exception safe) klassifiziert ([SWS_CM_11544]). Der Aufruf löst keine Ausnahmen aus und liefert keine Fehlercodes zurück.

Nebenläufigkeit und Einschränkungen

Da Swap den Zustand zweier Objekte (*this und other) gleichzeitig verändert, dürften parallele Aufrufe auf mindestens einer der beteiligten Instanzen ohne externe Synchronisation vermutlich nicht thread-sicher sein. Frage Q-d906e8c05aefbd15 (offen)

Zusammenspiel

Die Methode ist integraler Bestandteil der Klasse ara::com::SamplePtr ([SWS_CM_11544]). Sie ermöglicht die effiziente Eigentumsübertragung oder Neuzuweisung von empfangenen Daten-Samples in Kommunikationsabläufen, ohne dass das zugrunde liegende Nutzdatenobjekt kopiert werden muss.

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikationsdokumente erstellt.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherAnother ara::com::SamplePtr to swap the managed object with

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_11544
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11544@rel:R25-11#ef3edceb
Content hash
ef3edceb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11544
Status: valid/unmigrated Version: rel:R25-11#de8dd35c Versionshistorie & Revisions (1 transition, 3 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_CM_11544@rel:R25-11#de8dd35c
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#ef3edceb2026-09-30
  • R24-11rel:R24-11#f0b647d12026-10-14
  • R25-11rel:R25-11#de8dd35c2026-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 bool [SWS_CM_11543] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

explicit operator bool () const noexcept;

Checks if the stored pointer is null

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
boolTRUE if the stored pointer is null, FALSE otherwise.

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

Record
AUTOSAR/AP/record/SWS_CM_11543
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11543@rel:R25-11#a426ffae
Content hash
a426ffae
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11543
Status: valid/unmigrated Version: rel:R25-11#d4a800ef Versionshistorie & Revisions (1 transition, 3 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_CM_11543@rel:R25-11#d4a800ef
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#a426ffae2026-09-30
  • R24-11rel:R24-11#6ef9c5c82026-10-14
  • R25-11rel:R25-11#d4a800ef2026-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_CM_11541] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

T & operator* () const noexcept;

Dereferences the stored pointer.

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
T&The object owned by *this

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

Record
AUTOSAR/AP/record/SWS_CM_11541
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11541@rel:R25-11#7a10ec44
Content hash
7a10ec44
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11541
Status: valid/unmigrated Version: rel:R25-11#2a9978a3 Versionshistorie & Revisions (1 transition, 3 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_CM_11541@rel:R25-11#2a9978a3
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#7a10ec442026-09-30
  • R24-11rel:R24-11#ef9b07162026-10-14
  • R25-11rel:R25-11#2a9978a32026-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_CM_11542] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

T * operator-> () const noexcept;

Dereferences the stored pointer.

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
T*A pointer to the object owned by *this

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

Record
AUTOSAR/AP/record/SWS_CM_11542
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11542@rel:R25-11#782b36dc
Content hash
782b36dc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11542
Status: valid/unmigrated Version: rel:R25-11#40fe26b3 Versionshistorie & Revisions (1 transition, 3 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_CM_11542@rel:R25-11#40fe26b3
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#782b36dc2026-09-30
  • R24-11rel:R24-11#bcd1f0962026-10-14
  • R25-11rel:R25-11#40fe26b32026-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_CM_11538] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

SamplePtr & operator= (const SamplePtr &)=delete;

Copy assignment constructor deletion

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr

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

Record
AUTOSAR/AP/record/SWS_CM_11538
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11538@rel:R25-11#474e38fe
Content hash
474e38fe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11538
Status: valid/unmigrated Version: rel:R25-11#26e1191d Versionshistorie & Revisions (1 transition, 3 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_CM_11538@rel:R25-11#26e1191d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#474e38fe2026-09-30
  • R24-11rel:R24-11#26e1191d2026-10-14
  • R25-11rel:R25-11#26e1191d2026-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_CM_11539] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

SamplePtr & operator= (std::nullptr_t other) noexcept;

Copy assignment of nullptr_t.

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherA std::nullptr_t to copy

Rückgabewert

TypBeschreibung
SamplePtr &New ara::com::SamplePtr

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

Record
AUTOSAR/AP/record/SWS_CM_11539
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11539@rel:R25-11#3c954595
Content hash
3c954595
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11539
Status: valid/unmigrated Version: rel:R25-11#f4df352d Versionshistorie & Revisions (1 transition, 3 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_CM_11539@rel:R25-11#f4df352d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#3c9545952026-09-30
  • R24-11rel:R24-11#2a2a48bc2026-10-14
  • R25-11rel:R25-11#f4df352d2026-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_CM_11540] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

SamplePtr & operator= (SamplePtr &&other) noexcept;

Move assignment operator.

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::SamplePtr to move

Rückgabewert

TypBeschreibung
SamplePtr &New ara::com::SamplePtr

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

Record
AUTOSAR/AP/record/SWS_CM_11540
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11540@rel:R25-11#d5c9766f
Content hash
d5c9766f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11540
Status: valid/unmigrated Version: rel:R25-11#19726bd5 Versionshistorie & Revisions (1 transition, 3 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_CM_11540@rel:R25-11#19726bd5
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#d5c9766f2026-09-30
  • R24-11rel:R24-11#0e9fed532026-10-14
  • R25-11rel:R25-11#19726bd52026-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 ~SamplePtr [SWS_CM_11547] Upstream: RS_CM_00202, RS_CM_00203, RS_AP_00114, RS_AP_00122, RS_AP_00135, RS_AP_00145

~SamplePtr () noexcept;

Destructor

Header-Datei#include "ara/com/service/sample_ptr.h"
Scopeclass ara::com::SamplePtr
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CM_11547
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11547@rel:R25-11#79b025ea
Content hash
79b025ea
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11547
Status: valid/unmigrated Version: rel:R25-11#9a0210b5 Versionshistorie & Revisions (1 transition, 3 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_CM_11547@rel:R25-11#9a0210b5
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#79b025ea2026-09-30
  • R24-11rel:R24-11#12a7c5cb2026-10-14
  • R25-11rel:R25-11#9a0210b52026-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