|
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. | |
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().
Referenced by madness::WorldObject< Derived >::spawn_remote_task_handler().
| 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 |