Public Member Functions | Private Types | Private Attributes | List of all members
can::FilteredDispatcher< K, Listener, Hash > Class Template Reference

#include <dispatcher.h>

Inheritance diagram for can::FilteredDispatcher< K, Listener, Hash >:
Inheritance graph
[legend]

Public Member Functions

ListenerConstSharedPtr createListener (const Callable &callable)
 
BaseClass::ListenerConstSharedPtr createListener (const K &key, const typename BaseClass::Callable &callable)
 
template<typename T >
BaseClass::ListenerConstSharedPtr createListener (const T &key, const typename BaseClass::Callable &callable)
 
void dispatch (const K &key, const typename BaseClass::Type &obj)
 
void dispatch (const typename BaseClass::Type &obj)
 
 operator typename BaseClass::Callable ()
 
- Public Member Functions inherited from can::SimpleDispatcher< Listener >
ListenerConstSharedPtr createListener (const Callable &callable)
 
void dispatch (const Type &obj)
 
size_t numListeners ()
 
 operator Callable ()
 
 SimpleDispatcher ()
 

Private Types

using BaseClass = SimpleDispatcher< Listener >
 

Private Attributes

std::unordered_map< K, typename BaseClass::DispatcherBaseSharedPtr, Hash > filtered_
 

Additional Inherited Members

- Public Types inherited from can::SimpleDispatcher< Listener >
using Callable = typename Listener::Callable
 
using ListenerConstSharedPtr = typename Listener::ListenerConstSharedPtr
 
using Type = typename Listener::Type
 
- Protected Types inherited from can::SimpleDispatcher< Listener >
using DispatcherBaseSharedPtr = std::shared_ptr< DispatcherBase >
 
- Protected Attributes inherited from can::SimpleDispatcher< Listener >
DispatcherBaseSharedPtr dispatcher_
 
boost::mutex mutex_
 

Detailed Description

template<typename K, typename Listener, typename Hash = std::hash<K>>
class can::FilteredDispatcher< K, Listener, Hash >

Definition at line 80 of file dispatcher.h.

Member Typedef Documentation

◆ BaseClass

template<typename K , typename Listener , typename Hash = std::hash<K>>
using can::FilteredDispatcher< K, Listener, Hash >::BaseClass = SimpleDispatcher<Listener>
private

Definition at line 81 of file dispatcher.h.

Member Function Documentation

◆ createListener() [1/3]

template<typename K , typename Listener , typename Hash = std::hash<K>>
ListenerConstSharedPtr can::SimpleDispatcher< Listener >::createListener
inline

Definition at line 66 of file dispatcher.h.

◆ createListener() [2/3]

template<typename K , typename Listener , typename Hash = std::hash<K>>
BaseClass::ListenerConstSharedPtr can::FilteredDispatcher< K, Listener, Hash >::createListener ( const K &  key,
const typename BaseClass::Callable callable 
)
inline

Definition at line 85 of file dispatcher.h.

◆ createListener() [3/3]

template<typename K , typename Listener , typename Hash = std::hash<K>>
template<typename T >
BaseClass::ListenerConstSharedPtr can::FilteredDispatcher< K, Listener, Hash >::createListener ( const T &  key,
const typename BaseClass::Callable callable 
)
inline

Definition at line 94 of file dispatcher.h.

◆ dispatch() [1/2]

template<typename K , typename Listener , typename Hash = std::hash<K>>
void can::FilteredDispatcher< K, Listener, Hash >::dispatch ( const K &  key,
const typename BaseClass::Type obj 
)
inline

Definition at line 98 of file dispatcher.h.

◆ dispatch() [2/2]

template<typename K , typename Listener , typename Hash = std::hash<K>>
void can::FilteredDispatcher< K, Listener, Hash >::dispatch ( const typename BaseClass::Type obj)
inline

Definition at line 106 of file dispatcher.h.

◆ operator typename BaseClass::Callable()

template<typename K , typename Listener , typename Hash = std::hash<K>>
can::FilteredDispatcher< K, Listener, Hash >::operator typename BaseClass::Callable ( )
inline

Definition at line 110 of file dispatcher.h.

Member Data Documentation

◆ filtered_

template<typename K , typename Listener , typename Hash = std::hash<K>>
std::unordered_map<K, typename BaseClass::DispatcherBaseSharedPtr, Hash> can::FilteredDispatcher< K, Listener, Hash >::filtered_
private

Definition at line 82 of file dispatcher.h.


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


socketcan_interface
Author(s): Mathias Lüdtke
autogenerated on Wed Mar 2 2022 00:52:25