Embedded Template Library 1.0
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 (etl::ireference_counted_message_pool &owner_)
 
 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
 
virtual ETL_NODISCARD etl::imessageget_message ()=0
 Get a reference to the message. More...
 
virtual ETL_NODISCARD const etl::imessageget_message () const =0
 Get a const reference to the message. More...
 
virtual ETL_NODISCARD etl::ireference_counterget_reference_counter ()=0
 Get a reference to the reference counter. More...
 
virtual ETL_NODISCARD const etl::ireference_counterget_reference_counter () const =0
 Get a const reference to the reference counter. More...
 
virtual void release ()=0
 Release back to the owner. More...
 

Constructor & Destructor Documentation

◆ reference_counted_message() [1/2]

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

Constructor

Parameters
ownerThe message owner.

◆ reference_counted_message() [2/2]

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: