libqi-api  2.1.4.13
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Macros | Functions
trackable.hxx File Reference
#include <boost/function.hpp>
#include <boost/bind.hpp>
#include <boost/type_traits/is_base_of.hpp>
#include <boost/type_traits/remove_pointer.hpp>
#include <boost/weak_ptr.hpp>
#include <boost/function_types/result_type.hpp>

Go to the source code of this file.

Namespaces

 qi
 qi general namespace
 
 qi::detail
 

Macros

#define _QI_DETAILS_TRACKABLE_HXX_
 
#define genCall(n, ATYPEDECL, ATYPES, ADECL, AUSE, comma)
 

Functions

void qi::detail::throwPointerLockException ()
 
template<typename F , typename ARG0 >
boost::function< F > qi::track (const boost::function< F > &f, const ARG0 &arg0)
 
template<typename F , typename ARG0 >
boost::function< F > qi::trackWithFallback (boost::function< void()> onFail, const boost::function< F > &f, const ARG0 &arg0)
 

Macro Definition Documentation

#define _QI_DETAILS_TRACKABLE_HXX_

Definition at line 9 of file trackable.hxx.

#define genCall (   n,
  ATYPEDECL,
  ATYPES,
  ADECL,
  AUSE,
  comma 
)
Value:
Result operator()(ADECL) { \
ST s = _wptr.lock(); \
if (s) \
return _f(AUSE); \
else \
if (_onFail) \
_onFail(); \
else \
return Result(); \
}
#define QI_GEN_MAYBE_TEMPLATE_OPEN(...)
Definition: preproc.hpp:475
#define QI_GEN_MAYBE_TEMPLATE_CLOSE(...)
Definition: preproc.hpp:477

Definition at line 94 of file trackable.hxx.