MADNESS  version 0.9
Classes | Typedefs | Functions
madness::detail Namespace Reference

Classes

struct  absinplace
 
struct  abssqop
 
struct  abssquareinplace
 
struct  adqtest
 
struct  ArgCount
 
struct  ArgCountHelper
 
struct  ArgCountHelper< void >
 
class  ArgHolder
 A wrapper object for holding task function objects. More...
 
struct  CheckedArrayDeleter
 Checked array pointer delete functor. More...
 
struct  CheckedDeleter
 Checked pointer delete functor. More...
 
struct  CheckedFree
 Deleter to free memory for a shared_ptr using free() More...
 
struct  DefaultInitPtr
 
struct  DefaultInitPtr< std::shared_ptr< T > >
 
class  DeferredCleanup
 Deferred cleanup of shared_ptr's. More...
 
class  DistCache
 Distributed caching utility. More...
 
class  ForEachRootTask
 Apply an operation to a range of iterators. More...
 
class  ForEachTask
 Apply an operation to a range of iterators. More...
 
struct  function_enabler
 
struct  helper
 
struct  helper< T, 0 >
 
struct  helper< T, 1 >
 
struct  imagop
 
struct  info
 
struct  info_base
 
struct  is_movable
 Type trait for movable objects. More...
 
struct  is_movable< MoveWrapper< T > >
 Type trait for movable objects. More...
 
struct  memfunc_enabler
 
class  MemFuncWrapper
 
class  MemFuncWrapper< ptrT, memfnT, void >
 
class  MoveWrapper
 Wrapper for movable objects. More...
 
struct  NoDeleter
 Use this deleter with shared_ptr to do nothing for the pointer cleanup. More...
 
struct  noop
 
struct  PendingMsg
 
struct  ptr_traits
 
struct  ptr_traits< void >
 
struct  realop
 
class  ReferenceWrapper
 Reference wrapper class. More...
 
class  RemoteCounter
 Remote reference counter. More...
 
class  RemoteCounterBase
 Base class for remote counter implementation objects. More...
 
class  RemoteCounterImpl
 Remote counter implementation object. More...
 
struct  scaleinplace
 
struct  squareinplace
 
struct  task_arg
 
struct  task_arg< Future< T > >
 
struct  task_arg< Future< void > >
 
struct  task_arg< void >
 
struct  task_result_type
 
struct  TaskHandlerInfo
 
class  WorldMpi
 MPI singleton that manages MPI setup and teardown for MADNESS. More...
 
class  WorldMpiRuntime
 MPI runtime reference counter. More...
 
class  WorldPtr
 A global pointer address, valid anywhere in the world. More...
 

Typedefs

typedef Future< void > voidT
 

Functions

template<typename T >
double norm (const T &t)
 
template<typename T >
double norm (const Tensor< T > &t)
 
unsigned short htons_x (unsigned short a)
 
template<typename T >
mynorm (T t)
 
template<typename T >
mynorm (std::complex< T > t)
 
template<typename T >
void checked_delete (T *p)
 Checked pointer delete function. More...
 
template<typename T >
void checked_array_delete (T *a)
 Checked array pointer delete function. More...
 
template<typename T >
void checked_free (T *p)
 Function to free memory for a shared_ptr using free() More...
 
template<typename T >
void no_delete (T *)
 Use this function with shared_ptr to do nothing for the pointer cleanup. More...
 
void no_delete (void *)
 
template<typename ptrT , typename memfnT , typename resT >
memfnT get_mem_func_ptr (const MemFuncWrapper< ptrT, memfnT, resT > &)
 
template<typename fnT >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, a1T &a1, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, a1T &a1, a2T &a2, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, a6T &a6, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, a6T &a6, a7T &a7, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, a6T &a6, a7T &a7, a8T &a8, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T >
enable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (Future< void > &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, a6T &a6, a7T &a7, a8T &a8, a9T &a9)
 
template<typename fnT >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, a1T &a1, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, a1T &a1, a2T &a2, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, const voidT &, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, const voidT &, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, a6T &a6, const voidT &, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, a6T &a6, a7T &a7, const voidT &, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, a6T &a6, a7T &a7, a8T &a8, const voidT &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T >
disable_if< std::is_void
< typename detail::result_of
< fnT >::type > >::type 
run_function (typename task_result_type< fnT >::futureT &result, fnT fn, a1T &a1, a2T &a2, a3T &a3, a4T &a4, a5T &a5, a6T &a6, a7T &a7, a8T &a8, a9T &a9)
 
void combine_hash (hashT &seed, hashT hash)
 Internal use only. More...
 
template<typename T >
void swap (WorldPtr< T > &l, WorldPtr< T > &r)
 Swap the content of l with r. More...
 
template<typename T , typename U >
bool operator> (const WorldPtr< T > &left, const WorldPtr< U > &right)
 
template<typename T , typename U >
bool operator<= (const WorldPtr< T > &left, const WorldPtr< U > &right)
 
template<typename T , typename U >
bool operator>= (const WorldPtr< T > &left, const WorldPtr< U > &right)
 
std::ostream & operator<< (std::ostream &out, const RemoteCounter &counter)
 
void swap (RemoteCounter &l, RemoteCounter &r)
 
template<typename objT , typename memfnT >
MemFuncWrapper< objT *, memfnT,
typename result_of< memfnT >
::type > 
wrap_mem_fn (objT &obj, memfnT memfn)
 
template<typename objT , typename memfnT >
MemFuncWrapper< objT *, memfnT,
typename result_of< memfnT >
::type > 
wrap_mem_fn (objT *obj, memfnT memfn)
 
template<typename objT , typename memfnT >
MemFuncWrapper
< std::shared_ptr< objT >
, memfnT, typename result_of
< memfnT >::type > 
wrap_mem_fn (const std::shared_ptr< objT > &obj, memfnT memfn)
 
template<typename objT , typename memfnT >
MemFuncWrapper
< std::shared_ptr< objT >
, memfnT, typename result_of
< memfnT >::type > 
wrap_mem_fn (std::shared_ptr< objT > &obj, memfnT memfn)
 

Typedef Documentation

Future<void> is an empty object which is used as a placeholder for unused arguments.

Function Documentation

template<typename T >
void madness::detail::checked_array_delete ( T *  a)
inline

Checked array pointer delete function.

This function ensures that the pointer is a complete type.

Template Parameters
TThe pointer type (must be a complete type).
Parameters
aThe array pointer to be deleted.

References a(), and std::tr1::T().

Referenced by madness::detail::CheckedArrayDeleter< T >::operator()().

template<typename T >
void madness::detail::checked_delete ( T *  p)
inline

Checked pointer delete function.

This function ensures that the pointer is a complete type.

Template Parameters
TThe pointer type (must be a complete type).
Parameters
pThe pointer to be deleted.

References std::tr1::T().

Referenced by madness::tr1::shptr::detail::sp_counted_impl_p< X >::dispose(), madness::detail::CheckedDeleter< T >::operator()(), and madness::tr1::shptr::detail::shared_count::shared_count().

template<typename T >
void madness::detail::checked_free ( T *  p)
inline

Function to free memory for a shared_ptr using free()

Checks the pointer to make sure it is a complete type, you will get a compiler error if it is not.

References std::tr1::T().

Referenced by madness::detail::CheckedFree< T >::operator()().

void madness::detail::combine_hash ( hashT &  seed,
hashT  hash 
)
inline
template<typename ptrT , typename memfnT , typename resT >
memfnT madness::detail::get_mem_func_ptr ( const MemFuncWrapper< ptrT, memfnT, resT > &  wrapper)
unsigned short madness::detail::htons_x ( unsigned short  a)
inline
template<typename T >
T madness::detail::mynorm ( t)
template<typename T >
T madness::detail::mynorm ( std::complex< T >  t)

References norm().

template<typename T >
void madness::detail::no_delete ( T *  )
inline
void madness::detail::no_delete ( void *  )
inline
template<typename T >
double madness::detail::norm ( const T &  t)
template<typename T >
double madness::detail::norm ( const Tensor< T > &  t)
std::ostream & madness::detail::operator<< ( std::ostream &  out,
const RemoteCounter &  counter 
)
template<typename T , typename U >
bool madness::detail::operator<= ( const WorldPtr< T > &  left,
const WorldPtr< U > &  right 
)
template<typename T , typename U >
bool madness::detail::operator> ( const WorldPtr< T > &  left,
const WorldPtr< U > &  right 
)
template<typename T , typename U >
bool madness::detail::operator>= ( const WorldPtr< T > &  left,
const WorldPtr< U > &  right 
)
template<typename fnT >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
a1T &  a1,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
a6T &  a6,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
a6T &  a6,
a7T &  a7,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
a6T &  a6,
a7T &  a7,
a8T &  a8,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T >
enable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( Future< void > &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
a6T &  a6,
a7T &  a7,
a8T &  a8,
a9T &  a9 
)
inline
template<typename fnT >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
a1T &  a1,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
const voidT &  ,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
a6T &  a6,
const voidT &  ,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
a6T &  a6,
a7T &  a7,
const voidT &  ,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
a6T &  a6,
a7T &  a7,
a8T &  a8,
const voidT &   
)
inline
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T >
disable_if<std::is_void<typename detail::result_of<fnT>::type> >::type madness::detail::run_function ( typename task_result_type< fnT >::futureT &  result,
fnT  fn,
a1T &  a1,
a2T &  a2,
a3T &  a3,
a4T &  a4,
a5T &  a5,
a6T &  a6,
a7T &  a7,
a8T &  a8,
a9T &  a9 
)
inline
template<typename T >
void madness::detail::swap ( WorldPtr< T > &  l,
WorldPtr< T > &  r 
)

Swap the content of l with r.

Template Parameters
UThe other world pointer type
Exceptions
nothing
Note
U* must be implicitly convertible to T* type.

References madness::detail::WorldPtr< T >::swap().

Referenced by madness::detail::RemoteCounter::swap(), and madness::RemoteReference< FutureImpl< REMFUTURE(MEMFUN_RETURNT(memfunT)) > >::swap().

void madness::detail::swap ( RemoteCounter &  l,
RemoteCounter &  r 
)
inline
template<typename objT , typename memfnT >
MemFuncWrapper<objT*, memfnT, typename result_of<memfnT>::type> madness::detail::wrap_mem_fn ( objT &  obj,
memfnT  memfn 
)
template<typename objT , typename memfnT >
MemFuncWrapper<objT*, memfnT, typename result_of<memfnT>::type> madness::detail::wrap_mem_fn ( objT *  obj,
memfnT  memfn 
)
template<typename objT , typename memfnT >
MemFuncWrapper<std::shared_ptr<objT>, memfnT, typename result_of<memfnT>::type> madness::detail::wrap_mem_fn ( const std::shared_ptr< objT > &  obj,
memfnT  memfn 
)
template<typename objT , typename memfnT >
MemFuncWrapper<std::shared_ptr<objT>, memfnT, typename result_of<memfnT>::type> madness::detail::wrap_mem_fn ( std::shared_ptr< objT > &  obj,
memfnT  memfn 
)