MADNESS
0.10.1
|
#include <world_object.h>
Public Types | |
using | memfunT_rel_ptr = decltype(archive::to_rel_memfn_ptr(std::declval< memfunT >())) |
Public Member Functions | |
memfunT | memfun () const |
Public Attributes | |
TaskAttributes | attr |
uniqueidT | id |
memfunT_rel_ptr | memfun_rel_ptr |
ProcessID | requestor |
Protected Member Functions | |
info_base () | |
info_base (const uniqueidT &id, ProcessID requestor, memfunT memfun, const TaskAttributes &attr=TaskAttributes()) | |
template<typename Archive > | |
void | serialize (const Archive &ar) |
Serializes a info_base for I/O. More... | |
We cannot use the normal task forwarding stuff here because pending messages can creating tasks are must be correctly handled. The following code does not easily merge with the send handlers since the task layer is more restrictive on the copy capability of arguments.
It is also annoying that info needs to be broken into two parts so that it id
and ref
are properly serialized. We need to have id
correctly aligned via opaque_wrap
, but ref
cannot be serialized that way. Thus we break the class into two parts.
Info stored for AM method forwarding.
memfunT | Description needed. |
using madness::detail::info_base< memfunT >::memfunT_rel_ptr = decltype(archive::to_rel_memfn_ptr(std::declval<memfunT>())) |
|
inlineprotected |
|
inlineprotected |
|
inline |
References madness::detail::info_base< memfunT >::memfun_rel_ptr.
Referenced by madness::WorldObject< Derived >::handler(), and madness::WorldObject< Derived >::spawn_remote_task_handler().
|
inlineprotected |
Serializes a info_base
for I/O.
Archive | The type of I/O archive. |
[in,out] | ar | The I/O archive. |
References madness::archive::wrap_opaque().
Referenced by madness::detail::info< memfunT >::serialize().
TaskAttributes madness::detail::info_base< memfunT >::attr |
Referenced by madness::WorldObject< Derived >::spawn_remote_task_handler().
uniqueidT madness::detail::info_base< memfunT >::id |
memfunT_rel_ptr madness::detail::info_base< memfunT >::memfun_rel_ptr |
Referenced by madness::detail::info_base< memfunT >::memfun().
ProcessID madness::detail::info_base< memfunT >::requestor |