λ61
Loading...
Searching...
No Matches
l61::EventSystem::EventBus Class Referencefinal

This is an event bus leveraging l61::EventSystem::Event. More...

#include <EventBus.hpp>

Inheritance diagram for l61::EventSystem::EventBus:

Public Member Functions

bool addEvent (const bus_frequency_t &freq, const bus_frequency_t &sub_freq, const Event &event) override
void removeEvent (const bus_frequency_t &freq, const bus_frequency_t &sub_freq) override
void removeFrequency (const bus_frequency_t &freq) override
void pumpIt ()
void push (const bus_frequency_t &freq)
void pushBand (const std::set< bus_frequency_t > &freqBand)
template<meta::eventBusFrequencyCompatible... Ty>
void pushBand (Ty &&... vals)
void addEventBand (const std::set< std::tuple< const bus_frequency_t &, const bus_frequency_t &, const Event & > > &eventBand)
 EventBus ()=default
 ~EventBus () override=default
void operator[] (const bus_frequency_t &frequency)
 EventBus (EventBus &&)=delete
 EventBus (EventBus &)=delete
 EventBus (const EventBus &)=delete
EventBusoperator= (const EventBus &)=delete

Private Attributes

std::unordered_map< bus_frequency_t, std::unordered_map< bus_frequency_t, std::unique_ptr< Event > > > _map
std::queue< bus_frequency_t_freq_stack

Detailed Description

This is an event bus leveraging l61::EventSystem::Event.

Constructor & Destructor Documentation

◆ EventBus() [1/4]

l61::EventSystem::EventBus::EventBus ( )
explicitdefault

◆ ~EventBus()

l61::EventSystem::EventBus::~EventBus ( )
overridedefault

◆ EventBus() [2/4]

l61::EventSystem::EventBus::EventBus ( EventBus && )
delete

◆ EventBus() [3/4]

l61::EventSystem::EventBus::EventBus ( EventBus & )
delete

◆ EventBus() [4/4]

l61::EventSystem::EventBus::EventBus ( const EventBus & )
delete

Member Function Documentation

◆ addEvent()

bool l61::EventSystem::EventBus::addEvent ( const bus_frequency_t & freq,
const bus_frequency_t & sub_freq,
const Event & event )
override

◆ addEventBand()

void l61::EventSystem::EventBus::addEventBand ( const std::set< std::tuple< const bus_frequency_t &, const bus_frequency_t &, const Event & > > & eventBand)

◆ operator=()

EventBus & l61::EventSystem::EventBus::operator= ( const EventBus & )
delete

◆ operator[]()

void l61::EventSystem::EventBus::operator[] ( const bus_frequency_t & frequency)

◆ pumpIt()

void l61::EventSystem::EventBus::pumpIt ( )

◆ push()

void l61::EventSystem::EventBus::push ( const bus_frequency_t & freq)

◆ pushBand() [1/2]

void l61::EventSystem::EventBus::pushBand ( const std::set< bus_frequency_t > & freqBand)

◆ pushBand() [2/2]

template<meta::eventBusFrequencyCompatible... Ty>
void l61::EventSystem::EventBus::pushBand ( Ty &&... vals)
inline

◆ removeEvent()

void l61::EventSystem::EventBus::removeEvent ( const bus_frequency_t & freq,
const bus_frequency_t & sub_freq )
override

◆ removeFrequency()

void l61::EventSystem::EventBus::removeFrequency ( const bus_frequency_t & freq)
override

Member Data Documentation

◆ _freq_stack

std::queue<bus_frequency_t> l61::EventSystem::EventBus::_freq_stack
private

◆ _map

std::unordered_map<bus_frequency_t, std::unordered_map<bus_frequency_t, std::unique_ptr<Event> > > l61::EventSystem::EventBus::_map
private

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