1#ifndef LIBFILEZILLA_EVENT_HEADER
2#define LIBFILEZILLA_EVENT_HEADER
66template<
typename UniqueType,
typename...Values>
70 typedef UniqueType unique_type;
71 typedef std::tuple<Values...> tuple_type;
73 using event_base::event_base;
75 template<
typename First_Value,
typename...Remaining_Values>
76 explicit simple_event(First_Value&& value, Remaining_Values&& ...values)
77 :
v_(std::forward<First_Value>(value), std::forward<Remaining_Values>(values)...)
82 inline static size_t type() {
98 mutable tuple_type
v_;
109typedef unsigned long long timer_id;
112struct timer_event_type{};
Common base class for all events.
Definition event.hpp:23
virtual size_t derived_type() const =0
This is the recommended event class.
Definition event.hpp:68
tuple_type v_
The event value, gets built from the arguments passed in the constructor.
Definition event.hpp:98
virtual size_t derived_type() const override
Simply returns type()
Definition event.hpp:90
static size_t type()
Returns a unique id for the type such that can be used directly in derived_type.
Definition event.hpp:82
Sets some global macros and further includes string.hpp.
The namespace used by libfilezilla.
Definition apply.hpp:17
simple_event< timer_event_type, timer_id > timer_event
All timer events have this type.
Definition event.hpp:118
size_t get_unique_type_id(std::type_info const &id)
bool same_type(event_base const &ev)
Definition event.hpp:104