DEENESPTFRRUARHIKOZHNL

classe 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

Guide utilisateurGÉNÉRÉ PAR IA

Permet l'accès en lecture exclusif aux événements reçus et contrôle la durée de vie de la mémoire du middleware.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f5d97c2beaf2 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet l'accès en lecture exclusif aux événements reçus et contrôle la durée de vie de la mémoire du middleware.

La classe template encapsule la possession exclusive d'échantillons d'événements reçus sur le modèle de std::unique_ptr et accorde à l'application un accès direct et immuable en lecture aux tampons du middleware (EXP ARAComAPI §5.3.5.4). Les instances sont transmises lors de l'interrogation de nouveaux échantillons, peuvent uniquement être transférées par sémantique de déplacement et maintiennent l'espace mémoire occupé ([SWS_CM_11537]). Seule la destruction du pointeur ou une mise à zéro explicite libère à nouveau le slot de tampon. La validité suppose que l'événement reste abonné et que le proxy associé existe.

Contexte

La classe template ara::com::SamplePtr représente, dans l'Adaptive Platform, le modèle central d'accès et de possession pour les données d'événements reçues (Event Samples) (EXP ARAComAPI §5.3.5.4). Sur le plan sémantique, la classe reproduit un pointeur intelligent exclusif calqué sur std::unique_ptr (EXP ARAComAPI §5.3.5.4). Les principaux partenaires d'interaction sont la couche applicative, l'objet événement ou proxy récepteur et le middleware de communication sous-jacent ara::com, qui gère les ressources de tampon (EXP ARAComAPI, p. 44, EXP ARAComAPI, p. 50).

Le concept suit expressément une approche zero-copy basée sur des références : au lieu de transmettre les données d'événements à l'application par copie de valeur, ara::com transmet des pointeurs ou des références vers des tampons de communication centraux (EXP ARAComAPI, p. 50). Dans des scénarios typiques de distribution 1:N, les caches d'événements locaux peuvent ainsi être servis uniquement par des mises à jour de références, ce qui minimise l'empreinte mémoire et la latence (EXP ARAComAPI, p. 50). L'accès aux données utiles est conceptuellement conçu comme étant strictement en lecture : lors de la mise à disposition, SamplePtr est toujours instanciée avec un type de données utiles constant (ara::com::SamplePtr<SampleType const>), de sorte que tous les opérateurs d'accès sont implicitement constants (EXP ARAComAPI, p. 39, EXP ARAComAPI, p. 44, [SWS_CM_00701]).

Cycle de vie

Les instances de SamplePtr peuvent être créées comme des pointeurs vides via le constructeur par défaut ou avec nullptr ([SWS_CM_11534], [SWS_CM_11535]). En revanche, des instances valides contenant des données utiles sont générées au sein du middleware lors de la désérialisation d'événements dans des slots de tampon et sont transmises à un callable côté application dans le cadre de GetNewSamples() (EXP ARAComAPI, p. 44).

La transmission s'accompagne d'un transfert complet de propriété (ownership transfer) vers l'application (EXP ARAComAPI §5.3.5.4). Afin de garantir l'exclusivité de la possession, le constructeur de copie et l'opérateur d'assignation par copie sont supprimés ([SWS_CM_11536], [SWS_CM_11538]). Un transfert du slot mémoire géré n'est possible que par construction par déplacement ou assignation par déplacement ([SWS_CM_11537], [SWS_CM_11540]), tandis que Swap() permet l'échange du contenu de deux pointeurs ([SWS_CM_11544]).

Tant qu'une instance de SamplePtr existe et détient l'échantillon, le middleware ne peut ni récupérer l'espace mémoire occupé ni le réécrire (EXP ARAComAPI §5.3.5.4). La libération du slot de middleware n'a lieu que lorsque la durée de vie du SamplePtr se termine par l'appel du destructeur ([SWS_CM_11547]) ou que le pointeur est explicitement vidé au moyen de Reset(nullptr) ou par l'assignation de nullptr ([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 Détruit Leer->Zerstoert ~SamplePtr() Verwaltend->Leer Reset(nullptr) Verwaltend->Verwaltend Swap() Verwaltend->Zerstoert ~SamplePtr()

Diagramme d'états : phases du cycle de vie et transferts de propriété d'un SamplePtr. Sources : [SWS_CM_11534], [SWS_CM_11537], [SWS_CM_11545], [SWS_CM_11547], EXP ARAComAPI §5.3.5.4.

Parcours d'utilisation

Le déroulement typique de l'accès aux données se divise selon les étapes suivantes :

  1. Déclencher l'interrogation d'échantillons : l'application appelle GetNewSamples() sur le proxy d'événement et transmet une fonction de callback appropriée ayant la signature void(ara::com::SamplePtr<SampleType const>) ainsi qu'une limite supérieure pour le nombre d'échantillons à récupérer (EXP ARAComAPI, p. 44).
  2. Transmission au callback : si de nouvelles données sont disponibles et que le quota de tampon n'est pas épuisé, le middleware désérialise l'échantillon et transmet la nouvelle instance de SamplePtr au callback (EXP ARAComAPI, p. 44).
  3. Vérifier l'état End-to-End : via GetProfileCheckStatus(), l'application peut interroger le résultat de la vérification de la protection E2E pour le paquet de données présent ([SWS_CM_90420]).
  4. Lire les données : la logique applicative accède en lecture à l'objet géré via operator* ([SWS_CM_11541]), operator-> ([SWS_CM_11542]) ou la méthode Get() ([SWS_CM_11546]).
  5. Poursuite du traitement ou libération : si l'échantillon doit être persisté au-delà du callback, l'application transfère le pointeur par construction par déplacement vers ses propres structures de mémoire ([SWS_CM_11537]). Si le pointeur reste dans la portée du callback, il est automatiquement détruit à la sortie ([SWS_CM_11547]), ce qui libère immédiatement le slot dans le middleware (EXP ARAComAPI §5.3.5.4).
Déroulement de la mise à disposition des échantillons et de la gestion de la mémoireApplicationProxy / Eventara::com MiddlewareGetNewSamples(f, maxNumberOfSamples)Contrôler les échantillons détenus par rapport au quotaaltQuota dépasséRetour de ErrorCodeLe tampon contient un nouvel échantillonDeserialisierung in Sample-Slotf(SamplePtr<SampleType const>)Prise de possession ; accès en lecture via * / -> / Get() et contrôle E2EDestruction (~SamplePtr) ou Reset(nullptr)Libération du slot de mémoireResult(Anzahl verarbeiteter Samples)

Diagramme de séquence : séquence d'interactions lors de GetNewSamples() avec transfert de propriété et libération de tampon. Sources : [SWS_CM_11541], [SWS_CM_11547], [SWS_CM_90420], EXP ARAComAPI, p. 44, EXP ARAComAPI §5.3.5.4.

Scénarios d'erreur

Lors de l'utilisation de SamplePtr, des contraintes et sources d'erreurs spécifiques doivent être prises en compte :

  • Épuisement du quota de tampon : le middleware surveille à chaque appel de GetNewSamples() si le nombre d'échantillons actuellement détenus par l'application dépasse le quota garanti précédemment lors de l'appel de Subscribe(). Si le quota est dépassé, GetNewSamples() refuse la délivrance d'échantillons supplémentaires et renvoie à la place un ara::core::ErrorCode (EXP ARAComAPI, p. 44, EXP ARAComAPI, p. 45).
  • Invalidité due à la perte d'abonnement ou à la destruction du proxy : SamplePtr ne se comporte de manière déterministe comme un std::unique_ptr que tant que l'événement sous-jacent reste abonné et que l'instance de proxy parente existe. La conservation de pointeurs au-delà de la fin de l'abonnement ou de la destruction du proxy est considérée comme une violation des préconditions.
  • Validité du pointeur et état nul : operator bool() permet d'évaluer l'état d'affectation du pointeur ([SWS_CM_11543]). Le déréférencement d'un pointeur vide via operator* ou operator-> entraîne un comportement indéfini. Toutes les méthodes d'accès et de modification sont déclarées comme noexcept ([SWS_CM_11541], [SWS_CM_11542], [SWS_CM_11546]).
  • Erreur de validation E2E : un pointeur reçu valablement ne garantit pas nécessairement des données de transmission sans erreur ; via la valeur de retour de GetProfileCheckStatus(), l'application doit vérifier si la protection End-to-End signale une corruption des données ou des retards de transmission ([SWS_CM_90420]).

Ce guide de classe a été généré par un assistant de curation IA sur la base des spécifications AUTOSAR pour Adaptive Platform Release R25-11.

Carte des membres

Diagramme de classes

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->()

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

SamplePtr fonction 4

Default constructor

Surcharges 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 fonction

Destructor

~SamplePtr () noexcept;

Méthodes

Get fonction

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 fonction

Replaces the managed object.

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

Swaps the managed object.

void Swap (SamplePtr &other) noexcept;

Opérateurs

operator bool fonction

Checks if the stored pointer is null

explicit operator bool () const noexcept;
operator* fonction

Dereferences the stored pointer.

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

Dereferences the stored pointer.

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

Copy assignment constructor deletion

Surcharges = 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

Documentation des méthodes

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1cc8beae7ae3 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La fonction Get est une fonction membre sans paramètre de la classe ara::com::SamplePtr provenant de l'en-tête ara/com/service/sample_ptr.h [SWS_CM_11546]. Elle retourne de manière synchrone un pointeur brut de type T* vers l'objet géré par l'instance [SWS_CM_11546]. Contrairement aux interrogations asynchrones de champs de service qui fournissent un ara::core::Future [SWS_CM_00112], cet accès s'effectue directement dans le thread appelant.

Gestion des erreurs et conditions limites

La méthode est déclarée comme noexcept et spécifiée comme sûre vis-à-vis des exceptions (exception safe) [SWS_CM_11546] ; aucun état d'erreur n'intervient par le biais d'exceptions C++. Si l'instance ne gère actuellement aucun objet, le pointeur renvoyé est vraisemblablement nullptr. Question Q-d850bd8ee144369a (ouverte) Avant le traitement ultérieur de la donnée référencée, il convient de s'assurer que la surveillance E2E présente l'état ara::com::e2e::SMState::kValid et que le contrôle de statut du profil n'a révélé aucune erreur [SWS_CM_90422].

Interaction et délimitation

Dans le gestionnaire de communication, Get sert à l'accès direct aux données pour les valeurs reçues (samples), telles qu'elles sont fournies dans le cadre de la gestion des échantillons AUTOSAR_AP_EXP_ARAComAPI §10 « GetNewSamples ». Cette fonction doit être clairement distinguée d'autres opérations Get :

  • Accesseur de champ (getter) : la récupération de champs de service au niveau du proxy s'effectue via Get() avec retour d'un ara::core::Future [SWS_CM_00112], pour lequel un gestionnaire peut être enregistré côté serveur [SWS_CM_00114].
  • État E2E : l'état de surveillance d'un accesseur de champ est déterminé séparément via GetE2EStateMachineStateGetter [SWS_CM_00145].

Ce texte a été créé par une IA et est basé sur la version AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité 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#2fbe817c
Content hash
2fbe817c
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

fonction 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#b1093f13
Content hash
b1093f13
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0a03c7966b10 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre Reset de la classe ara::com::SamplePtr sert à réinitialiser le pointeur vers l'objet géré [SWS_CM_11545]. En tant que paramètre, elle prend la valeur other de type std::nullptr_t. L'appel remplace l'objet actuellement détenu par un pointeur nul et ne renvoie aucune valeur (void) [SWS_CM_11545].

En matière de traitement des erreurs et de sécurité vis-à-vis des exceptions, la méthode est déclarée avec noexcept et spécifiée comme pleinement sûre vis-à-vis des exceptions (exception safe) [SWS_CM_11545]. Aucune exception C++ n'est levée et aucun code d'erreur spécifique n'est renvoyé.

Dans le système global, la libération d'instances de SamplePtr remplit une condition préalable essentielle pour éviter les erreurs de mémoire :

Interprétation : l'appel explicite de Reset(nullptr) devrait constituer, dans les scénarios d'application, le moyen direct de renoncer de manière déterministe à la propriété d'un échantillon d'événement avant de telles transitions de cycle de vie, lorsque le pointeur ne sort pas automatiquement de sa portée. Question Q-a615fa4078ab03ce (ouverte)

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité 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#c726f5d0
Content hash
c726f5d0
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

fonction 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#1dd6e229
Content hash
1dd6e229
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

fonction 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#592e2e7d
Content hash
592e2e7d
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

fonction 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#ad99f30d
Content hash
ad99f30d
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

fonction 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#13175963
Content hash
13175963
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 18d4b3f3f0f9 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction Swap est une méthode membre de la classe ara::com::SamplePtr et sert à échanger l'objet actuellement géré avec une autre instance ([SWS_CM_11544]). L'interface est définie dans l'en-tête ara/com/service/sample_ptr.h (AUTOSAR_AP_SWS_CommunicationManagement §8.9.1.1.3.4 « Swap »).

L'appel s'effectue de manière synchrone et attend le paramètre suivant :

  • other : référence vers une autre instance de ara::com::SamplePtr dont l'objet géré est échangé avec celui de *this ([SWS_CM_11544]).

La méthode ne possède aucune valeur de retour (void) ([SWS_CM_11544]).

Gestion des erreurs

La signature est déclarée avec noexcept et classée comme sûre vis-à-vis des exceptions (exception safe) ([SWS_CM_11544]). L'appel ne lève aucune exception et ne renvoie aucun code d'erreur.

Concurrence et restrictions

Comme Swap modifie simultanément l'état de deux objets (*this et other), des appels parallèles sur au moins l'une des instances impliquées ne seraient vraisemblablement pas thread-safe sans synchronisation externe. Question Q-d906e8c05aefbd15 (ouverte)

Interaction

La méthode fait partie intégrante de la classe ara::com::SamplePtr ([SWS_CM_11544]). Elle permet le transfert efficace de propriété ou la réaffectation d'échantillons de données reçus dans les flux de communication, sans qu'il soit nécessaire de copier l'objet de données utiles sous-jacent.

Cette note d'utilisation a été générée automatiquement sur la base des documents de spécification.

Guide de l'implémenteur à venir (complexité 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#cc3a0a2e
Content hash
cc3a0a2e
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

fonction 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#fa232b0f
Content hash
fa232b0f
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

fonction 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#179853d9
Content hash
179853d9
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

fonction 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#f9e88af2
Content hash
f9e88af2
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

fonction 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#12c3904e
Content hash
12c3904e
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

fonction 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#324d61c5
Content hash
324d61c5
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

fonction 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#bfab3452
Content hash
bfab3452
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

fonction ~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#3198f6ad
Content hash
3198f6ad
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