conduit 0.6.0
Modern C++23 header-only event-dispatching / event-transport library
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
conduit::EventSubscriber Class Referenceabstract

Multi-event subscriber base. More...

#include <listener.hpp>

Inheritance diagram for conduit::EventSubscriber:
Inheritance graph
[legend]
Collaboration diagram for conduit::EventSubscriber:
Collaboration graph
[legend]

Public Member Functions

 EventSubscriber ()=default
 
 EventSubscriber (const EventSubscriber &)=delete
 
 EventSubscriber (EventSubscriber &&) noexcept=default
 
EventSubscriberoperator= (const EventSubscriber &)=delete
 
EventSubscriberoperator= (EventSubscriber &&) noexcept=default
 
 ~EventSubscriber () override=default
 
virtual void register_to (Bus &bus)=0
 
std::vector< Subscription > & subscriptions () noexcept
 

Protected Member Functions

template<typename T , typename F >
void on (Bus &bus, F &&handler)
 
template<typename F >
void on (Bus &bus, std::string_view pattern, F &&handler)
 

Detailed Description

Multi-event subscriber base.

Override register_to(Bus&) and use the on(...) helpers to register handlers; the produced subscriptions live on the subscriber for as long as it does. Subscribers are also comms::Prioritized; their priority is forwarded to each listener registered through the on(...) helpers unless an explicit priority is supplied on the call.

Constructor & Destructor Documentation

◆ EventSubscriber() [1/3]

conduit::EventSubscriber::EventSubscriber ( )
default

◆ EventSubscriber() [2/3]

conduit::EventSubscriber::EventSubscriber ( const EventSubscriber )
delete

◆ EventSubscriber() [3/3]

conduit::EventSubscriber::EventSubscriber ( EventSubscriber &&  )
defaultnoexcept

◆ ~EventSubscriber()

conduit::EventSubscriber::~EventSubscriber ( )
overridedefault

Member Function Documentation

◆ on() [1/2]

template<typename T , typename F >
void conduit::EventSubscriber::on ( Bus bus,
F &&  handler 
)
inlineprotected

◆ on() [2/2]

template<typename F >
void conduit::EventSubscriber::on ( Bus bus,
std::string_view  pattern,
F &&  handler 
)
inlineprotected

◆ operator=() [1/2]

EventSubscriber & conduit::EventSubscriber::operator= ( const EventSubscriber )
delete

◆ operator=() [2/2]

EventSubscriber & conduit::EventSubscriber::operator= ( EventSubscriber &&  )
defaultnoexcept

◆ register_to()

virtual void conduit::EventSubscriber::register_to ( Bus bus)
pure virtual

◆ subscriptions()

std::vector< Subscription > & conduit::EventSubscriber::subscriptions ( )
inlinenoexcept

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