11 virtual bool call(std::size_t eventId) = 0;
25 : action_{std::move(action)}
26 , valid_{std::move(
valid)}
29 bool call(std::size_t eventId)
override
31 auto result = action_(eventId);
41 std::function<bool(std::size_t eventId)> action_;
42 std::function<bool()> valid_;
49 std::function<
bool(std::size_t eventId)> action,
50 std::function<
bool()> valid =
62 explicit operator bool()
const
64 return impl_->valid();
68 return impl_->call(eventId);
72 std::unique_ptr<EventImpl> impl_;
Event(Event const &)=delete
bool operator()(std::size_t eventId) const
Definition event.hpp:66
Event & operator=(Event const &)=delete
Event & operator=(Event &&)=default
Event(std::function< bool(std::size_t eventId)> action, std::function< bool()> valid=[] { return true;})
Definition event.hpp:48
Definition file_dialog.hpp:6
EventImpl & operator=(EventImpl const &)=default
virtual ~EventImpl()=default
EventImpl & operator=(EventImpl &&)=default
EventImpl(EventImpl &&)=default
virtual bool valid() const =0
EventImpl(EventImpl const &)=default
virtual bool call(std::size_t eventId)=0
bool valid() const override
Definition event.hpp:35
bool call(std::size_t eventId) override
Definition event.hpp:29
TwoFunctorEventImpl(std::function< bool(std::size_t eventId)> action, std::function< bool()> valid)
Definition event.hpp:24