SAT Solver Template
Loading...
Searching...
No Matches
Public Member Functions | List of all members
sat::SubscribableEvent< Args > Class Template Reference

C# inspired event class that manages a list of event handlers that can be invoked together. More...

#include <SubscribableEvent.hpp>

Public Member Functions

 SubscribableEvent (const SubscribableEvent &)=delete
 
SubscribableEventoperator= (const SubscribableEvent &)=delete
 
 SubscribableEvent (SubscribableEvent &&) noexcept=default
 
SubscribableEventoperator= (SubscribableEvent &&) noexcept=default
 
template<typename Handler >
void subscribe_unhandled (Handler &&handlerFunction)
 
template<typename Handler >
SubscriberHandle subscribe_handled (Handler &&handlerFunction)
 
template<typename ... InvokeArgs>
void trigger (InvokeArgs &&... args) const
 

Detailed Description

template<typename ... Args>
class sat::SubscribableEvent< Args >

C# inspired event class that manages a list of event handlers that can be invoked together.

Template Parameters
ArgsArguments types of the event handler functions

Member Function Documentation

◆ subscribe_handled()

template<typename ... Args>
template<typename Handler >
SubscriberHandle sat::SubscribableEvent< Args >::subscribe_handled ( Handler &&  handlerFunction)
inline

Adds a functor to the event handler list. The functor is called when trigger is invoked

Template Parameters
Handlertype of handler functor
Parameters
handlerFunctionfunctor to be subscribed to the event
Returns
handle to the event that is used to unsubscribe the handler (see SubscriberHandle)
Note
if the returned value is discarded the handler will be unregistered immediately after the call

◆ subscribe_unhandled()

template<typename ... Args>
template<typename Handler >
void sat::SubscribableEvent< Args >::subscribe_unhandled ( Handler &&  handlerFunction)
inline

Adds a functor to the event handler list. The functor is called when trigger is invoked

Template Parameters
Handlertype of handler functor
Parameters
handlerFunctionfunctor to be subscribed to the event

◆ trigger()

template<typename ... Args>
template<typename ... InvokeArgs>
void sat::SubscribableEvent< Args >::trigger ( InvokeArgs &&...  args) const
inline

Triggers the event. All subscribed event handlers are invoked with the provided arguments

Parameters
argsarguments to the event handlers

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