iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > Class Template Reference

#include <request_mut_uninit.hpp>

Public Member Functions

 RequestMutUninit (RequestMutUninit &&rhs) noexcept=default
 
auto operator= (RequestMutUninit &&rhs) noexcept -> RequestMutUninit &=default
 
 ~RequestMutUninit () noexcept=default
 
 RequestMutUninit (const RequestMutUninit &)=delete
 
auto operator= (const RequestMutUninit &) -> RequestMutUninit &=delete
 
auto header () const -> RequestHeader
 Returns a reference to the iceoryx2 internal [RequestHeader].
 
template<typename T = RequestUserHeader, typename = std::enable_if_t<!std::is_same<void, RequestUserHeader>::value, T>>
auto user_header () const -> const T &
 Returns a reference to the user defined request header.
 
template<typename T = RequestUserHeader, typename = std::enable_if_t<!std::is_same<void, RequestUserHeader>::value, T>>
auto user_header_mut () -> T &
 Returns a mutable reference to the user defined request header.
 
template<typename T = RequestPayload, typename = std::enable_if_t<!bb::IsSlice<T>::VALUE, void>>
auto payload () const -> const RequestPayload &
 Returns a reference to the user defined request payload.
 
template<typename T = RequestPayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, void>>
auto payload () const -> bb::ImmutableSlice< ValueType >
 Returns a reference to the user defined request payload.
 
template<typename T = RequestPayload, typename = std::enable_if_t<!bb::IsSlice<T>::VALUE, void>>
auto payload_mut () -> RequestPayload &
 Returns a mutable reference to the user defined request payload.
 
template<typename T = RequestPayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, void>>
auto payload_mut () -> bb::MutableSlice< ValueType >
 Returns a mutable reference to the user defined request payload.
 
template<typename T = RequestPayload, typename = std::enable_if_t<!bb::IsSlice<T>::VALUE, T>>
auto write_payload (RequestPayload &&payload) -> RequestMut< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >
 
template<typename T = RequestPayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, T>>
auto write_from_slice (bb::ImmutableSlice< ValueType > &value) -> RequestMut< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >
 
template<typename T = RequestPayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, T>>
auto write_from_fn (const iox2::bb::StaticFunction< typename T::ValueType(uint64_t)> &initializer) -> RequestMut< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >
 

Friends

template<ServiceType , typename , typename , typename , typename >
class Client
 
template<ServiceType S, typename RequestPayloadT , typename RequestUserHeaderT , typename ResponsePayloadT , typename ResponseUserHeaderT >
auto assume_init (RequestMutUninit< S, RequestPayloadT, RequestUserHeaderT, ResponsePayloadT, ResponseUserHeaderT > &&self) -> RequestMut< S, RequestPayloadT, RequestUserHeaderT, ResponsePayloadT, ResponseUserHeaderT >
 

Detailed Description

template<ServiceType Service, typename RequestPayload, typename RequestUserHeader, typename ResponsePayload, typename ResponseUserHeader>
class iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >

A version of the [RequestMut] where the payload is not initialized which allows true zero copy usage. To send a [RequestMutUninit] it must be first initialized and converted into [RequestMut] with [RequestMutUninit::assume_init()].

Definition at line 31 of file request_mut_uninit.hpp.

Constructor & Destructor Documentation

◆ RequestMutUninit() [1/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::RequestMutUninit ( RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &&  rhs)
defaultnoexcept

◆ ~RequestMutUninit()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::~RequestMutUninit ( )
defaultnoexcept

◆ RequestMutUninit() [2/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::RequestMutUninit ( const RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &  )
delete

Member Function Documentation

◆ header()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::header ( ) const -> RequestHeader
inline

Returns a reference to the iceoryx2 internal [RequestHeader].

Definition at line 113 of file request_mut_uninit.hpp.

◆ operator=() [1/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::operator= ( const RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &  ) -> RequestMutUninit &=delete
delete

◆ operator=() [2/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::operator= ( RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &&  rhs) -> RequestMutUninit &=default
defaultnoexcept

◆ payload() [1/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename T = RequestPayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, void>>
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::payload ( ) const -> bb::ImmutableSlice< ValueType >

Returns a reference to the user defined request payload.

◆ payload() [2/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename T , typename >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::payload ( ) const -> const RequestPayload&
inline

Returns a reference to the user defined request payload.

Definition at line 149 of file request_mut_uninit.hpp.

Referenced by iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::write_payload().

◆ payload_mut() [1/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename T = RequestPayload, typename = std::enable_if_t<bb::IsSlice<T>::VALUE, void>>
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::payload_mut ( ) -> bb::MutableSlice< ValueType >

Returns a mutable reference to the user defined request payload.

◆ payload_mut() [2/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename T , typename >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::payload_mut ( ) -> RequestPayload&
inline

◆ user_header()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename T , typename >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::user_header ( ) const -> const T&
inline

Returns a reference to the user defined request header.

Definition at line 125 of file request_mut_uninit.hpp.

◆ user_header_mut()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename T , typename >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::user_header_mut ( ) -> T&
inline

Returns a mutable reference to the user defined request header.

Definition at line 137 of file request_mut_uninit.hpp.

◆ write_from_fn()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename T , typename >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::write_from_fn ( const iox2::bb::StaticFunction< typename T::ValueType(uint64_t)> &  initializer) -> RequestMut<Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader>
inline

Copies the provided payload into the uninitialized request and returns an initialized [RequestMut].

Definition at line 228 of file request_mut_uninit.hpp.

References iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::payload_mut().

◆ write_from_slice()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename T , typename >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::write_from_slice ( bb::ImmutableSlice< ValueType > &  value) -> RequestMut<Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader>
inline

Copies the provided payload into the uninitialized request and returns an initialized [RequestMut].

Definition at line 211 of file request_mut_uninit.hpp.

References IOX2_ASSERT, and iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::payload_mut().

◆ write_payload()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename T , typename >
auto iox2::RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::write_payload ( RequestPayload &&  payload) -> RequestMut<Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader>
inline

Friends And Related Symbol Documentation

◆ assume_init

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<ServiceType S, typename RequestPayloadT , typename RequestUserHeaderT , typename ResponsePayloadT , typename ResponseUserHeaderT >
auto assume_init ( RequestMutUninit< S, RequestPayloadT, RequestUserHeaderT, ResponsePayloadT, ResponseUserHeaderT > &&  self) -> RequestMut< S, RequestPayloadT, RequestUserHeaderT, ResponsePayloadT, ResponseUserHeaderT >
friend

◆ Client

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<ServiceType , typename , typename , typename , typename >
friend class Client
friend

Definition at line 91 of file request_mut_uninit.hpp.


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