Embedded Template Library  1.0
etl::delegate_service< RANGE, OFFSET > Class Template Reference

#include <delegate_service.h>

Public Member Functions

 delegate_service ()
 
template<const size_t ID>
void register_delegate (etl::delegate< void(size_t)> callback)
 
void register_delegate (const size_t id, etl::delegate< void(size_t)> callback)
 
void register_unhandled_delegate (etl::delegate< void(size_t)> callback)
 
template<const size_t ID>
void call ()
 
void call (const size_t id)
 

Detailed Description

template<const size_t RANGE, const size_t OFFSET = 0U>
class etl::delegate_service< RANGE, OFFSET >

An indexed delegate service.

Template Parameters
RANGEThe number of delegates to handle.
OFFSETThe lowest delegate id value. The delegate ids must range between OFFSET and OFFSET + RANGE - 1.

Constructor & Destructor Documentation

◆ delegate_service()

template<const size_t RANGE, const size_t OFFSET = 0U>
etl::delegate_service< RANGE, OFFSET >::delegate_service ( )
inline

Reset the delegate service. Sets all delegates to the internal default.

Member Function Documentation

◆ call() [1/2]

template<const size_t RANGE, const size_t OFFSET = 0U>
template<const size_t ID>
void etl::delegate_service< RANGE, OFFSET >::call ( )
inline

Executes the delegate function for the index. Compile time assert if the id is out of range.

Template Parameters
IDThe id of the delegate.

◆ call() [2/2]

template<const size_t RANGE, const size_t OFFSET = 0U>
void etl::delegate_service< RANGE, OFFSET >::call ( const size_t  id)
inline

Executes the delegate function for the index.

Parameters
idId of the delegate.

◆ register_delegate() [1/2]

template<const size_t RANGE, const size_t OFFSET = 0U>
void etl::delegate_service< RANGE, OFFSET >::register_delegate ( const size_t  id,
etl::delegate< void(size_t)>  callback 
)
inline

Registers a delegate for the specified id. No action if the id is out of range.

Parameters
idId of the delegate.
delegateReference to the delegate.

◆ register_delegate() [2/2]

template<const size_t RANGE, const size_t OFFSET = 0U>
template<const size_t ID>
void etl::delegate_service< RANGE, OFFSET >::register_delegate ( etl::delegate< void(size_t)>  callback)
inline

Registers a delegate for the specified id. Compile time assert if the id is out of range.

Template Parameters
IDThe id of the delegate.
Parameters
delegateReference to the delegate.

◆ register_unhandled_delegate()

template<const size_t RANGE, const size_t OFFSET = 0U>
void etl::delegate_service< RANGE, OFFSET >::register_unhandled_delegate ( etl::delegate< void(size_t)>  callback)
inline

Registers an alternative delegate for unhandled ids.

Parameters
delegateA reference to the user supplied 'unhandled' delegate.

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