Loading src/sled/experimental/design_patterns/dispatcher.h +3 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ #include "sled/synchronization/mutex.h" #include <memory> #include <set> #include <type_traits> namespace sled { namespace experimental { Loading @@ -11,12 +12,13 @@ namespace experimental { template<typename T> class Dispatcher { public: static_assert(!std::is_rvalue_reference<T>::value, "must be a value type"); enum class DispatchResult { kHandled, kNotFound }; struct Handler { virtual ~Handler() = default; virtual bool HandleMessage(const T &) = 0; virtual bool OnMessage(T &&) = 0; virtual bool OnMessage(const T &) = 0; }; virtual ~Dispatcher() = default; Loading src/sled/sled.h +3 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,9 @@ namespace async {} #include "inja.hpp" #include "rx.h" // experimental #include "sled/experimental/design_patterns/dispatcher.h" // event_bus #include "sled/event_bus/event_bus.h" Loading Loading
src/sled/experimental/design_patterns/dispatcher.h +3 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ #include "sled/synchronization/mutex.h" #include <memory> #include <set> #include <type_traits> namespace sled { namespace experimental { Loading @@ -11,12 +12,13 @@ namespace experimental { template<typename T> class Dispatcher { public: static_assert(!std::is_rvalue_reference<T>::value, "must be a value type"); enum class DispatchResult { kHandled, kNotFound }; struct Handler { virtual ~Handler() = default; virtual bool HandleMessage(const T &) = 0; virtual bool OnMessage(T &&) = 0; virtual bool OnMessage(const T &) = 0; }; virtual ~Dispatcher() = default; Loading
src/sled/sled.h +3 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,9 @@ namespace async {} #include "inja.hpp" #include "rx.h" // experimental #include "sled/experimental/design_patterns/dispatcher.h" // event_bus #include "sled/event_bus/event_bus.h" Loading