Exemplo n.º 1
0
 R operator()(Arg... arg)
 {
     // call only if tracked object is alive
     if (!m_tracked.expired())
         return m_wrapped(std::move(arg)...);
     return R();
 }
Exemplo n.º 2
0
 R operator()()
 {
     // call only if tracked object is alive
     if (!m_tracked.expired())
     {
         return m_wrapped();
     }
     // throw exception, will be caught, then ignored
     ASYNCHRONOUS_THROW(boost::asynchronous::task_aborted_exception());
 }
Exemplo n.º 3
0
 void operator()()
 {
     // call only if tracked object is alive
     if (!m_tracked.expired())
         m_wrapped();
 }
Exemplo n.º 4
0
 inline result_type operator()(ArgsT... args) const
 {
   return m_wrapped(args...);
 }