A C++ template library for embedded applications
MIT licensed
Designed and
maintained by
John Wellbelove
Like the ETL? Become a patron!
or
Join the ETL community
Shared 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() const
Gets a const reference to the contained message.
____________________________________________________________________________________________________
ETL_NODISCARD uint32_t get_reference_count() const
Gets the current reference count for this shared message.
shared_message.h