C++ Actor Framework 0.18
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Related Functions | List of all members
caf::detail::message_data Class Reference

Container for storing an arbitrary number of message elements. More...

#include <message_data.hpp>

Public Member Functions

 message_data (const message_data &)=delete
 
message_dataoperator= (const message_data &)=delete
 
 message_data (type_id_list types) noexcept
 Constructs the message data object without constructing any element.
 
message_datacopy () const
 
void ref () const noexcept
 Increases reference count by one.
 
void deref () noexcept
 Decreases the reference count by one and destroys the object when its reference count drops to zero.
 
bool unique () const noexcept
 Queries whether there is exactly one reference to this data.
 
size_t get_reference_count () const noexcept
 Returns the current number of references to this data.
 
bytestorage () noexcept
 Returns the memory region for storing the message elements.
 
const bytestorage () const noexcept
 Returns the memory region for storing the message elements.
 
auto types () const noexcept
 Returns the type IDs of the message elements.
 
auto size () const noexcept
 Returns the number of elements.
 
byteat (size_t index) noexcept
 Returns the memory location for the object at given index.
 
const byteat (size_t index) const noexcept
 Returns the memory location for the object at given index.
 
void inc_constructed_elements ()
 
template<class... Ts>
void init (Ts &&... xs)
 
bytestepwise_init (byte *pos)
 
template<class T , class... Ts>
bytestepwise_init (byte *pos, T &&x, Ts &&... xs)
 
bytestepwise_init_from (byte *pos, const message &msg)
 
bytestepwise_init_from (byte *pos, const message_data *other)
 
template<class Tuple , size_t... Is>
bytestepwise_init_from (byte *pos, Tuple &&tup, std::index_sequence< Is... >)
 
template<class... Ts>
bytestepwise_init_from (byte *pos, std::tuple< Ts... > &&tup)
 
template<class... Ts>
bytestepwise_init_from (byte *pos, std::tuple< Ts... > &tup)
 
template<class... Ts>
bytestepwise_init_from (byte *pos, const std::tuple< Ts... > &tup)
 
template<class... Ts>
void init_from (Ts &&... xs)
 

Static Public Member Functions

static intrusive_ptr< message_datamake_uninitialized (type_id_list types)
 

Related Functions

(Note that these are not member functions.)

void intrusive_ptr_add_ref (const message_data *ptr)
 
void intrusive_ptr_release (message_data *ptr)
 

Detailed Description

Container for storing an arbitrary number of message elements.

Member Function Documentation

◆ at() [1/2]

const byte * caf::detail::message_data::at ( size_t  index) const
noexcept

Returns the memory location for the object at given index.

Precondition
index < size()

◆ at() [2/2]

byte * caf::detail::message_data::at ( size_t  index)
noexcept

Returns the memory location for the object at given index.

Precondition
index < size()

◆ storage()

const byte * caf::detail::message_data::storage ( ) const
noexcept

Returns the memory region for storing the message elements.


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