Soldered 125kHz RFID board Arduino library 1.0.0
Library for Soldered 125kHz RFID board.
Loading...
Searching...
No Matches
delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P > Class Template Reference

#include <MultiDelegate.h>

Classes

class  iterator
 
struct  Node_t
 

Public Member Functions

 MultiDelegatePImpl ()=default
 
 ~MultiDelegatePImpl ()
 
 MultiDelegatePImpl (const MultiDelegatePImpl &)=delete
 
MultiDelegatePImploperator= (const MultiDelegatePImpl &)=delete
 
 MultiDelegatePImpl (MultiDelegatePImpl &&md)
 
 MultiDelegatePImpl (const Delegate &del)
 
 MultiDelegatePImpl (Delegate &&del)
 
MultiDelegatePImploperator= (MultiDelegatePImpl &&md)
 
MultiDelegatePImploperator= (std::nullptr_t)
 
MultiDelegatePImploperator+= (const Delegate &del)
 
MultiDelegatePImploperator+= (Delegate &&del)
 
iterator begin ()
 
iterator end () const
 
const Delegate *IRAM_ATTR add (const Delegate &del)
 
const Delegate *IRAM_ATTR add (Delegate &&del)
 
iterator erase (iterator it)
 
bool erase (const Delegate *const del)
 
 operator bool () const
 
operator() (P... args)
 

Protected Member Functions

Node_t *IRAM_ATTR get_node_unsafe ()
 
void recycle_node_unsafe (Node_t *node)
 

Protected Attributes

Node_tfirst = nullptr
 
Node_tlast = nullptr
 
Node_tunused = nullptr
 
size_t nodeCount = 0
 
std::mutex mutex_unused
 

Constructor & Destructor Documentation

◆ MultiDelegatePImpl() [1/5]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::MultiDelegatePImpl ( )
default

◆ ~MultiDelegatePImpl()

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::~MultiDelegatePImpl ( )
inline

◆ MultiDelegatePImpl() [2/5]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::MultiDelegatePImpl ( const MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P > & )
delete

◆ MultiDelegatePImpl() [3/5]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::MultiDelegatePImpl ( MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P > && md)
inline

◆ MultiDelegatePImpl() [4/5]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::MultiDelegatePImpl ( const Delegate & del)
inline

◆ MultiDelegatePImpl() [5/5]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::MultiDelegatePImpl ( Delegate && del)
inline

Member Function Documentation

◆ add() [1/2]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
const Delegate *IRAM_ATTR delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::add ( const Delegate & del)
inline

◆ add() [2/2]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
const Delegate *IRAM_ATTR delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::add ( Delegate && del)
inline

◆ begin()

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
iterator delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::begin ( )
inline

◆ end()

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
iterator delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::end ( ) const
inline

◆ erase() [1/2]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
bool delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::erase ( const Delegate *const del)
inline

◆ erase() [2/2]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
iterator delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::erase ( iterator it)
inline

◆ get_node_unsafe()

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
Node_t *IRAM_ATTR delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::get_node_unsafe ( )
inlineprotected

◆ operator bool()

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::operator bool ( ) const
inline

◆ operator()()

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
R delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::operator() ( P... args)
inline

◆ operator+=() [1/2]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
MultiDelegatePImpl & delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::operator+= ( const Delegate & del)
inline

◆ operator+=() [2/2]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
MultiDelegatePImpl & delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::operator+= ( Delegate && del)
inline

◆ operator=() [1/3]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
MultiDelegatePImpl & delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::operator= ( const MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P > & )
delete

◆ operator=() [2/3]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
MultiDelegatePImpl & delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::operator= ( MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P > && md)
inline

◆ operator=() [3/3]

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
MultiDelegatePImpl & delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::operator= ( std::nullptr_t )
inline

◆ recycle_node_unsafe()

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
void delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::recycle_node_unsafe ( Node_t * node)
inlineprotected

Member Data Documentation

◆ first

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
Node_t* delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::first = nullptr
protected

◆ last

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
Node_t* delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::last = nullptr
protected

◆ mutex_unused

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
std::mutex delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::mutex_unused
protected

◆ nodeCount

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
size_t delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::nodeCount = 0
protected

◆ unused

template<typename Delegate , typename R , bool ISQUEUE = false, size_t QUEUE_CAPACITY = 32, typename... P>
Node_t* delegate::detail::MultiDelegatePImpl< Delegate, R, ISQUEUE, QUEUE_CAPACITY, P >::unused = nullptr
protected

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