fw4spl
fwCom::util Namespace Reference

fwCom's utilities More...

Classes

struct  AutoBind
 Automatic binding class. This class allow to bind automatically a function/method with the right number of arguments. More...
 
struct  AutoBind< F, 0 >
 AutoBind specialization. More...
 
struct  AutoBind< F, 1 >
 AutoBind specialization. More...
 
struct  AutoBind< F, 2 >
 AutoBind specialization. More...
 
struct  AutoBind< F, 3 >
 AutoBind specialization. More...
 
struct  AutoBind< F, 4 >
 AutoBind specialization. More...
 
struct  AutoBind< F, 5 >
 AutoBind specialization. More...
 
struct  AutoBind< F, 6 >
 AutoBind specialization. More...
 
struct  AutoBind< F, 7 >
 AutoBind specialization. More...
 
struct  AutoBind< F, 8 >
 AutoBind specialization. More...
 
struct  AutoBind< F, 9 >
 AutoBind specialization. More...
 
struct  convert_function_type
 Convert function pointer type to function type. More...
 
struct  convert_function_type< R(C::*)(Args...) >
 Convert class member method type to equivalent function type. More...
 
struct  convert_function_type< R(C::*)(Args...) const >
 Convert class const member method type to equivalent function type. More...
 
struct  convert_function_type< std::function< F > >
 Extract function type from a boost function. More...
 
class  remove_last_arg
 Last argument removal class. Removes the last argument type from a function type. If the given function type has no argument, remove_last_arg is the identity. More...
 
struct  remove_last_arg< R(A1) >
 remove_last_arg specialization. More...
 
struct  remove_last_arg< R(A1, A2) >
 remove_last_arg specialization. More...
 
struct  remove_last_arg< R(A1, A2, A3) >
 remove_last_arg specialization. More...
 
struct  remove_last_arg< R(A1, A2, A3, A4) >
 remove_last_arg specialization. More...
 
struct  remove_last_arg< R(A1, A2, A3, A4, A5) >
 remove_last_arg specialization. More...
 
struct  remove_last_arg< R(A1, A2, A3, A4, A5, A6) >
 remove_last_arg specialization. More...
 
struct  remove_last_arg< R(A1, A2, A3, A4, A5, A6, A7) >
 remove_last_arg specialization. More...
 
struct  remove_last_arg< R(A1, A2, A3, A4, A5, A6, A7, A8) >
 remove_last_arg specialization. More...
 
struct  remove_last_arg< R(A1, A2, A3, A4, A5, A6, A7, A8, A9) >
 remove_last_arg specialization. More...
 
struct  WeakCall
 Weak functor class. Store a zero-arg-function and a weak pointer on an object. The WeakCall is callable only once. A bad_weak_ptr exception is thrown if the weak_ptr is expired when operator() is called A fwCom::exception::WorkerChanged exception is thrown if the target slot worker changed since weakcall request. More...
 

Functions

template<typename F , typename... A>
std::function< typename convert_function_type< F >::type > autobind (F f, A...a)
 Automatic bind of given function. More...
 
template<typename T , typename R >
WeakCall< T, R > weakcall (const std::shared_ptr< T const > &ptr, std::function< R() > f)
 Returns weak call from given object and function.
 
template<typename T , typename R >
WeakCall< T, R > weakcall (const std::shared_ptr< T const > &ptr, std::function< R() > f, const std::shared_ptr< ::fwThread::Worker > &m)
 Returns weak call from given object, function and mutex.
 

Detailed Description

fwCom's utilities

util

Function Documentation

template<typename F , typename... A>
std::function< typename convert_function_type< F >::type > fwCom::util::autobind ( f,
A...  a 
)

Automatic bind of given function.

Returns
a boost function of type F if F is a function type, of type F if F is a function pointer, or of the corresponding function type if F is a member method pointer (like R (C::)(A1, A2, ..)) If F is a member method pointer, autobind takes the object on wich we desire to call the method as second argument.

Definition at line 119 of file AutoBind.hxx.