};
+template<typename... E>
+template<typename T>
+inline void EventSource<E...>::cancel_observation()
+{
+ for(const auto &h: static_cast<EventDispatcher<T> &>(*this).handlers)
+ h.observer->remove_source(*this);
+}
+
template<typename... E>
template<typename T, typename... Args>
inline void EventSource<E...>::emit(Args &&... args) const
bus.dispatch(event);
}
-template<typename... E>
-template<typename T>
-inline void EventSource<E...>::cancel_observation()
-{
- for(const auto &h: static_cast<EventDispatcher<T> &>(*this).handlers)
- h.observer->remove_source(*this);
-}
-
} // namespace Msp::Game
#endif