#pragma once #if !defined(MIJIN_ASYNC_BOXED_SIGNAL_HPP_INCLUDED) #define MIJIN_ASYNC_BOXED_SIGNAL_HPP_INCLUDED 1 #include "./signal.hpp" #include "../container/boxed_object.hpp" namespace mijin { // // public defines // // // public constants // // // public types // template typename TAllocator, typename... TArgs> class BaseBoxedSignal : private BoxedObject> { private: using base_t = BoxedObject>; public: using base_t::construct; using base_t::destroy; using base_t::moveTo; MIJIN_BOXED_PROXY_FUNC(connect) MIJIN_BOXED_PROXY_FUNC(disconnect) MIJIN_BOXED_PROXY_FUNC(emit) }; template using BoxedSignal = BaseBoxedSignal; // // public functions // } // namespace mijin #endif // !defined(MIJIN_ASYNC_BOXED_SIGNAL_HPP_INCLUDED)