MADNESS  0.10.1
Classes | Namespaces | Macros | Typedefs | Functions
taskfn.h File Reference
#include <type_traits>
#include <madness/world/dependency_interface.h>
#include <madness/world/thread.h>
#include <madness/world/future.h>
#include <madness/world/meta.h>
Include dependency graph for taskfn.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  madness::detail::ArgCount< a1T, a2T, a3T, a4T, a5T, a6T, a7T, a8T, a9T >
 
struct  madness::detail::ArgCountHelper< T >
 
struct  madness::detail::ArgCountHelper< void >
 
class  madness::detail::ArgHolder< Arg >
 A wrapper object for holding task function argument objects. More...
 
struct  madness::detail::is_arg_holder< T >
 
struct  madness::detail::is_arg_holder< ArgHolder< T > >
 
struct  madness::TaskInterface::Submit
 
struct  madness::detail::task_arg< T >
 
struct  madness::detail::task_arg< Future< T > * >
 
struct  madness::detail::task_arg< Future< T > >
 
struct  madness::detail::task_arg< Future< void > >
 
struct  madness::detail::task_arg< void >
 
struct  madness::detail::task_result_type< fnT >
 
struct  madness::TaskFn< fnT, arg1T, arg2T, arg3T, arg4T, arg5T, arg6T, arg7T, arg8T, arg9T >
 Wrap a callable object and its arguments into a task function. More...
 
class  madness::TaskInterface
 All world tasks must be derived from this public interface. More...
 

Namespaces

 madness
 File holds all helper structures necessary for the CC_Operator and CC2 class.
 
 madness::detail
 
 madness::detail::arg_holder
 

Macros

#define MADNESS_TASKQ_VARIADICS   1
 

Typedefs

typedef Future< void > madness::detail::voidT
 

Functions

template<typename T >
T && madness::detail::arg_holder::decay (ArgHolder< T > &&arg_holder)
 
template<typename T >
Tmadness::detail::arg_holder::decay (ArgHolder< T > &arg_holder)
 
template<typename T >
const Tmadness::detail::arg_holder::decay (const ArgHolder< T > &arg_holder)
 
template<typename T >
const Tmadness::detail::arg_holder::decay (const Future< T > &arg_holder)
 
template<typename T >
T && madness::detail::arg_holder::decay (Future< T > &&arg_holder)
 
template<typename T >
Tmadness::detail::arg_holder::decay (Future< T > &arg_holder)
 
template<typename T >
Tmadness::detail::arg_holder::decay (Future< T > *arg_holder)
 
template<typename T >
auto madness::detail::arg_holder::decay (T &&arg_holder) -> typename std::enable_if< !is_future< T >::value &&!is_arg_holder< T >::value, decltype(arg_holder)>::type
 
template<typename ptrT , typename memfnT , typename resT >
memfnT madness::detail::get_mem_func_ptr (const MemFuncWrapper< ptrT, memfnT, resT > &wrapper)
 Returns the member function pointer from a wrapper. More...
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT >
std::enable_if< std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T , typename a4T >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T , typename a3T >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T , typename a2T >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT , typename a1T >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 
template<typename fnT >
std::enable_if<!std::is_void< typename detail::result_of< fnT >::type >::value >::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 &)
 

Macro Definition Documentation

◆ MADNESS_TASKQ_VARIADICS

#define MADNESS_TASKQ_VARIADICS   1