MADNESS  0.10.1
Public Member Functions | Public Attributes | Private Member Functions | List of all members
madness::detail::TaskHandlerInfo< refT, functionT > Struct Template Reference

Serialization container for sending tasks to remote nodes. More...

#include <world_task_queue.h>

Collaboration diagram for madness::detail::TaskHandlerInfo< refT, functionT >:
Collaboration graph
[legend]

Public Member Functions

 TaskHandlerInfo ()=default
 
 TaskHandlerInfo (const refT &ref, functionT func, const TaskAttributes &attr)
 Construct task info object. More...
 
template<typename Archive >
void serialize (const Archive &ar)
 Serialization of an object. More...
 

Public Attributes

TaskAttributes attr
 Task attributes. More...
 
functionT func
 A task function. More...
 
refT ref
 Remote reference for a task result future. More...
 

Private Member Functions

template<typename fnT , typename Archive >
std::enable_if< is_any_function_pointer_v< fnT > >::type serialize_internal (const Archive &ar)
 Serialization for function pointers and member function pointers. More...
 
template<typename fnT , typename Archive >
std::enable_if<!is_any_function_pointer_v< fnT > >::type serialize_internal (const Archive &ar)
 Serialization for non- function pointers and member function pointers. More...
 

Detailed Description

template<typename refT, typename functionT>
struct madness::detail::TaskHandlerInfo< refT, functionT >

Serialization container for sending tasks to remote nodes.

Attention
This struct is for internal use only. You should not use this class directly.
Template Parameters
refTThe remote reference type for task result future.
functionTThe task function type.

Constructor & Destructor Documentation

◆ TaskHandlerInfo() [1/2]

template<typename refT , typename functionT >
madness::detail::TaskHandlerInfo< refT, functionT >::TaskHandlerInfo ( )
default

◆ TaskHandlerInfo() [2/2]

template<typename refT , typename functionT >
madness::detail::TaskHandlerInfo< refT, functionT >::TaskHandlerInfo ( const refT &  ref,
functionT  func,
const TaskAttributes attr 
)
inline

Construct task info object.

Parameters
[in]refRemote reference to the result future.
[in]funcThe task function.
[in]attrThe task attrubutes.

Member Function Documentation

◆ serialize()

template<typename refT , typename functionT >
template<typename Archive >
void madness::detail::TaskHandlerInfo< refT, functionT >::serialize ( const Archive &  ar)
inline

Serialization of an object.

Template Parameters
ArchiveThe serialization archive type.
Parameters
[in,out]arThe serialization archive.

◆ serialize_internal() [1/2]

template<typename refT , typename functionT >
template<typename fnT , typename Archive >
std::enable_if<is_any_function_pointer_v<fnT> >::type madness::detail::TaskHandlerInfo< refT, functionT >::serialize_internal ( const Archive &  ar)
inlineprivate

Serialization for function pointers and member function pointers.

Template Parameters
fnTThe function type.
ArchiveThe serialization archive type.
Parameters
[in,out]arThe serialization archive.

References madness::detail::TaskHandlerInfo< refT, functionT >::attr, madness::detail::TaskHandlerInfo< refT, functionT >::func, and madness::detail::TaskHandlerInfo< refT, functionT >::ref.

◆ serialize_internal() [2/2]

template<typename refT , typename functionT >
template<typename fnT , typename Archive >
std::enable_if<!is_any_function_pointer_v<fnT> >::type madness::detail::TaskHandlerInfo< refT, functionT >::serialize_internal ( const Archive &  ar)
inlineprivate

Serialization for non- function pointers and member function pointers.

Template Parameters
fnTThe function type.
ArchiveThe serialization archive type.
Parameters
[in,out]arThe serialization archive.

References madness::detail::TaskHandlerInfo< refT, functionT >::attr, madness::detail::TaskHandlerInfo< refT, functionT >::func, and madness::detail::TaskHandlerInfo< refT, functionT >::ref.

Member Data Documentation

◆ attr

template<typename refT , typename functionT >
TaskAttributes madness::detail::TaskHandlerInfo< refT, functionT >::attr

◆ func

template<typename refT , typename functionT >
functionT madness::detail::TaskHandlerInfo< refT, functionT >::func

◆ ref

template<typename refT , typename functionT >
refT madness::detail::TaskHandlerInfo< refT, functionT >::ref

Remote reference for a task result future.

Referenced by madness::detail::TaskHandlerInfo< refT, functionT >::serialize_internal().


The documentation for this struct was generated from the following file: