PL::Event class

template<class Source, class ...Args>
class Event

Event class template.

Template Parameters:
  • Source – event source class

  • ...Args – event argument types

Public Functions

inline Event(Source &source)

Creates an event.

Parameters:

source – event source

inline void AddHandler(std::shared_ptr<EventHandler<Source, Args...>> handler)

Adds handler to the event.

Parameters:

handler – event handler

template<class HandlerClass>
inline void AddHandler(std::shared_ptr<HandlerClass> handler, void (HandlerClass::* method)(Source&, Args...))

Adds handler to the event.

Template Parameters:

HandlerClassEvent handler class

Parameters:
  • handlerEvent handler object

  • methodEvent handler object callback method

inline void RemoveHandler(std::shared_ptr<EventHandler<Source, Args...>> handlerToRemove)

Removes handler from the event.

Parameters:

handlerToRemove – event handler

template<class HandlerClass>
inline void RemoveHandler(std::shared_ptr<HandlerClass> handlerToRemove, void (HandlerClass::* method)(Source&, Args...))

Removes handler from the event.

Template Parameters:

HandlerClassEvent handler class

Parameters:
  • handlerEvent handler object

  • methodEvent handler object callback method

inline void Generate(Args... args)

Generates the event.

Parameters:

...args – event arguments