iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
iox2::Sample< ServiceType, Payload, UserHeader > Class Template Reference

#include <sample.hpp>

Public Member Functions

 Sample (Sample &&rhs) noexcept
 
auto operator= (Sample &&rhs) noexcept -> Sample &
 
 ~Sample ()
 
 Sample (const Sample &)=delete
 
auto operator= (const Sample &) -> Sample &=delete
 
template<typename T = Payload, typename = std::enable_if_t<!bb::IsSlice<T>::VALUE, void>>
auto payload () const -> const ValueType &
 Returns a reference to the payload of the [Sample].
 
template<typename T = Payload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, void>>
auto payload () const -> bb::ImmutableSlice< ValueType >
 Returns a slice to navigate the payload of the [Sample].
 
template<typename T = UserHeader, typename = std::enable_if_t<!std::is_same<void, UserHeader>::value, T>>
auto user_header () const -> const T &
 Returns a reference to the user_header of the [Sample].
 
auto header () const -> HeaderPublishSubscribe
 Returns a reference to the [Header] of the [Sample].
 
auto origin () const -> UniquePublisherId
 Returns the [UniquePublisherId] of the [Publisher](crate::port::publisher::Publisher)
 

Friends

template<ServiceType , typename , typename >
class Subscriber
 

Detailed Description

template<ServiceType, typename Payload, typename UserHeader>
class iox2::Sample< ServiceType, Payload, UserHeader >

It stores the payload and is acquired by the [Subscriber] whenever it receives new data from a [Publisher] via [Subscriber::receive()].

Notes

Does not implement [Send] since it releases unsent samples vie the [Subscriber] and the [Subscriber] is not thread-safe!

Important

DO NOT MOVE THE SAMPLE INTO ANOTHER THREAD!

Definition at line 41 of file sample.hpp.

Constructor & Destructor Documentation

◆ Sample() [1/2]

template<ServiceType S, typename Payload , typename UserHeader >
iox2::Sample< S, Payload, UserHeader >::Sample ( Sample< ServiceType, Payload, UserHeader > &&  rhs)
inlinenoexcept

Definition at line 92 of file sample.hpp.

◆ ~Sample()

template<ServiceType S, typename Payload , typename UserHeader >
iox2::Sample< S, Payload, UserHeader >::~Sample ( )
inline

Definition at line 115 of file sample.hpp.

◆ Sample() [2/2]

template<ServiceType , typename Payload , typename UserHeader >
iox2::Sample< ServiceType, Payload, UserHeader >::Sample ( const Sample< ServiceType, Payload, UserHeader > &  )
delete

Member Function Documentation

◆ header()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::Sample< S, Payload, UserHeader >::header ( ) const -> HeaderPublishSubscribe
inline

Returns a reference to the [Header] of the [Sample].

Definition at line 158 of file sample.hpp.

Referenced by iox2::Sample< ServiceType, Payload, UserHeader >::origin().

◆ operator=() [1/2]

template<ServiceType , typename Payload , typename UserHeader >
auto iox2::Sample< ServiceType, Payload, UserHeader >::operator= ( const Sample< ServiceType, Payload, UserHeader > &  ) -> Sample &=delete
delete

◆ operator=() [2/2]

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::Sample< S, Payload, UserHeader >::operator= ( Sample< ServiceType, Payload, UserHeader > &&  rhs) -> Sample&
inlinenoexcept

Definition at line 103 of file sample.hpp.

◆ origin()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::Sample< S, Payload, UserHeader >::origin ( ) const -> UniquePublisherId
inline

Returns the [UniquePublisherId] of the [Publisher](crate::port::publisher::Publisher)

Definition at line 166 of file sample.hpp.

References iox2::Sample< ServiceType, Payload, UserHeader >::header().

◆ payload() [1/2]

template<ServiceType , typename Payload , typename UserHeader >
template<typename T = Payload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, void>>
auto iox2::Sample< ServiceType, Payload, UserHeader >::payload ( ) const -> bb::ImmutableSlice< ValueType >

Returns a slice to navigate the payload of the [Sample].

◆ payload() [2/2]

template<ServiceType S, typename Payload , typename UserHeader >
template<typename T , typename >
auto iox2::Sample< S, Payload, UserHeader >::payload ( ) const -> const ValueType&
inline

Returns a reference to the payload of the [Sample].

Definition at line 121 of file sample.hpp.

◆ user_header()

template<ServiceType S, typename Payload , typename UserHeader >
template<typename T , typename >
auto iox2::Sample< S, Payload, UserHeader >::user_header ( ) const -> const T&
inline

Returns a reference to the user_header of the [Sample].

Definition at line 149 of file sample.hpp.

Friends And Related Symbol Documentation

◆ Subscriber

template<ServiceType , typename Payload , typename UserHeader >
template<ServiceType , typename , typename >
friend class Subscriber
friend

Definition at line 72 of file sample.hpp.


The documentation for this class was generated from the following file: