shared_message
Header:
shared_message.hShared Messages
The type used to encapsulate reference counted messages.
Shared messages are usually passed by value.
See the Shared Message Tutorial
template <typename TPool, typename TMessage>
shared_message(TPool& owner, const TMessage& message)Static asserts if TPool is not derived from etl::ireference_counted_message_pool
Static asserts if TMessage not derived from etl::imessage.
Requires that TPool implements the following member function to allocate from the pool.
template <typename TMessage>
etl::ireference_counted_message* allocate(const TMessage& message)explicit shared_message(etl::ireference_coutnted_message& message)Construct from a reference counted message.
shared_message(const etl::shared_message& other)Copy constructor.
shared_message& operator =(const etl::shared_message& other)Assignment operator.
~shared_message()Destructor.
ETL_NODISCARD etl::imessage& get_message()Gets a reference to the contained message.
ETL_NODISCARD const etl::imessage& get_message() constGets a const reference to the contained message.
ETL_NODISCARD uint32_t get_reference_count() constGets the current reference count for this shared message.