Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::reference_counted_message< TMessage, TCounter > Class Template Reference

Public Types

typedef TMessage message_type
typedef TCounter counter_type

Public Member Functions

 ETL_STATIC_ASSERT ((etl::is_base_of< etl::imessage, TMessage >::value), "Not a message type")
 reference_counted_message (const TMessage &msg_, etl::ireference_counted_message_pool &owner_)
virtual ETL_NODISCARD TMessage & get_message () ETL_OVERRIDE
virtual ETL_NODISCARD const TMessage & get_message () const ETL_OVERRIDE
virtual ETL_NODISCARD etl::ireference_counterget_reference_counter () ETL_OVERRIDE
virtual ETL_NODISCARD const etl::ireference_counterget_reference_counter () const ETL_OVERRIDE
virtual void release () ETL_OVERRIDE

Constructor & Destructor Documentation

◆ reference_counted_message()

template<typename TMessage, typename TCounter>
etl::reference_counted_message< TMessage, TCounter >::reference_counted_message ( const TMessage & msg_,
etl::ireference_counted_message_pool & owner_ )
inline

Constructor

Parameters
msgThe message to count.
ownerThe message owner.

Member Function Documentation

◆ get_message() [1/2]

template<typename TMessage, typename TCounter>
virtual ETL_NODISCARD const TMessage & etl::reference_counted_message< TMessage, TCounter >::get_message ( ) const
inlinevirtual

Get a const reference to the message.

Returns
A const reference to the message.

Implements etl::ireference_counted_message.

◆ get_message() [2/2]

template<typename TMessage, typename TCounter>
virtual ETL_NODISCARD TMessage & etl::reference_counted_message< TMessage, TCounter >::get_message ( )
inlinevirtual

Get a reference to the message.

Returns
A reference to the message.

Implements etl::ireference_counted_message.

◆ get_reference_counter() [1/2]

template<typename TMessage, typename TCounter>
virtual ETL_NODISCARD const etl::ireference_counter & etl::reference_counted_message< TMessage, TCounter >::get_reference_counter ( ) const
inlinevirtual

Get a const reference to the reference counter.

Returns
A const reference to the reference counter.

Implements etl::ireference_counted_message.

◆ get_reference_counter() [2/2]

template<typename TMessage, typename TCounter>
virtual ETL_NODISCARD etl::ireference_counter & etl::reference_counted_message< TMessage, TCounter >::get_reference_counter ( )
inlinevirtual

Get a reference to the reference counter.

Returns
A reference to the reference counter.

Implements etl::ireference_counted_message.

◆ release()

template<typename TMessage, typename TCounter>
virtual void etl::reference_counted_message< TMessage, TCounter >::release ( )
inlinevirtual

Release back to the owner pool.

Returns
A reference to the owner pool.

Implements etl::ireference_counted_message.


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