Bytemaster's Boost Libraries
|
00001 #ifndef _BOOST_CMT_ASYNC_DELEGATE_HPP_ 00002 #define _BOOST_CMT_ASYNC_DELEGATE_HPP_ 00003 #include <boost/type_traits/function_traits.hpp> 00004 #include <boost/cmt/detail/async_delegate_impl.hpp> 00005 #include <boost/bind.hpp> 00006 00007 namespace boost { namespace cmt { 00008 00009 template<typename Signature> 00010 class async_delegate : 00011 public boost::cmt::detail::async_delegate_impl<boost::function_traits<Signature>::arity, Signature > 00012 { 00013 public: 00014 typedef Signature signature; 00015 00016 template<typename Functor> 00017 async_delegate( const Functor& slot, thread& s = thread::current() ) 00018 :detail::async_delegate_impl<boost::function_traits<Signature>::arity, Signature >(slot,s){} 00019 }; 00020 00021 } // namespace fl 00022 00023 #endif