|
MADNESS 0.10.1
|
Implements most parts of a globally addressable object (via unique ID). More...
#include <world_object.h>


Public Types | |
| typedef WorldObject< Derived > | objT |
Public Member Functions | |
| WorldObject (const WorldObject &other) | |
| WorldObject (World &world) | |
| Constructor that associates an object (via the derived class) with a globally unique ID. | |
| virtual | ~WorldObject () |
| World & | get_world () const |
Returns a reference to the world. | |
| const uniqueidT & | id () const |
| Returns the globally unique object ID. | |
| WorldObject & | operator= (const WorldObject &)=delete |
| template<typename memfnT > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn) const |
| template<typename memfnT , typename a1T > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1) const |
| template<typename memfnT , typename a1T , typename a2T > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2) const |
| template<typename memfnT , typename a1T , typename a2T , typename a3T > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3) const |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4) const |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5) const |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6) const |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7) const |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8) const |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T > | |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9) const |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8,a9). | |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8). | |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7). | |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6). | |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5). | |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4). | |
| template<typename memfnT , typename a1T , typename a2T , typename a3T > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3). | |
| template<typename memfnT , typename a1T , typename a2T > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(a1,a2). | |
| template<typename memfnT , typename a1T > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(a1). | |
| template<typename memfnT > | |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const TaskAttributes &attr=TaskAttributes()) const |
Sends task to derived class method returnT (this->*memfn)(). | |
Public Member Functions inherited from madness::WorldObjectBase | |
| virtual | ~WorldObjectBase ()=default |
Protected Member Functions | |
| void | process_pending () |
| To be called from derived constructor to process pending messages. | |
Private Types | |
| typedef std::list< detail::PendingMsg > | pendingT |
| typedef detail::voidT | voidT |
Private Member Functions | |
| volatile std::list< detail::PendingMsg > | pending |
| Spinlock | pending_mutex (0) |
| Spinlock | pending_mutex (0) |
| template<typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T > | |
| detail::task_result_type< memfnT >::futureT | send_am (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9) const |
| template<typename taskT , typename memfnT , typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T > | |
| taskT::futureT | send_task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr) const |
Static Private Member Functions | |
| template<typename T > | |
| static const T & | am_arg (const Future< T > &f) |
| template<typename T > | |
| static const T & | am_arg (const T &t) |
| template<typename memfnT , typename arg1T , typename arg2T , typename arg3T , typename arg4T , typename arg5T , typename arg6T , typename arg7T , typename arg8T , typename arg9T > | |
| static void | handler (const AmArg &arg) |
| Handler for an incoming AM. | |
| static bool | is_ready (const uniqueidT &id, objT *&obj, const AmArg &arg, am_handlerT ptr) |
| template<typename taskT > | |
| static void | spawn_remote_task_handler (const AmArg &arg) |
| Handler for remote arguments. | |
Private Attributes | |
| ProcessID | me |
| Rank of self. | |
| uniqueidT | objid |
| Sense of self. | |
| volatile bool | ready |
| True if ready to rock 'n roll. | |
| World & | world |
The World this object belongs to. (Think globally, act locally). | |
Static Private Attributes | |
| static volatile pendingT | pending |
| Buffer for pending messages. | |
| static Spinlock | pending_mutex |
Implements most parts of a globally addressable object (via unique ID).
This class is deliberately not default constructible and does not support assignment or copying. This ensures that each instance is unique. Have a look at madness::WorldContainer for an example of wrapping this using the PIMPL idiom and a shared pointer.
When deriving classes:
WorldObject<Derived> as a public base class.WorldObject<Derived>(world) constructor.process_pending().gop.fence().Note that world is exposed for convenience as a public data member.
| Derived | The derived class. WorldObject is a curiously recurring template pattern. |
| typedef WorldObject<Derived> madness::WorldObject< Derived >::objT |
|
private |
|
private |
|
inline |
References madness::nonlinear_vector_solver().
|
inline |
Constructor that associates an object (via the derived class) with a globally unique ID.
process_pending from its constructor to both| [in,out] | world | The World encapsulating the "global" domain. |
|
inlinevirtual |
|
inlinestaticprivate |
| T | Description needed. |
| [in] | f | Description needed. |
References madness::f, and MADNESS_ASSERT.
Referenced by madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), and madness::WorldObject< Derived >::task().
|
inlinestaticprivate |
|
inlinevirtual |
Returns a reference to the world.
Implements madness::WorldObjectBase.
References madness::WorldObject< Derived >::world.
Referenced by madness::SeparatedConvolution< Q, NDIM >::combine().
|
inlinestaticprivate |
Handler for an incoming AM.
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| arg1T | Type of argument 1. |
| arg2T | Type of argument 2. |
| arg3T | Type of argument 3. |
| arg4T | Type of argument 4. |
| arg5T | Type of argument 5. |
| arg6T | Type of argument 6. |
| arg7T | Type of argument 7. |
| arg8T | Type of argument 8. |
| arg9T | Type of argument 9. |
| [in] | arg | Description needed. |
References madness::arg(), madness::WorldObject< Derived >::is_ready(), MADNESS_PRAGMA_CLANG, madness::detail::info_base< memfunT >::memfun(), madness::nonlinear_vector_solver(), madness::detail::peek(), madness::pop(), madness::detail::info< memfunT >::ref, and madness::detail::run_function().
|
inline |
Returns the globally unique object ID.
References madness::WorldObject< Derived >::objid.
Referenced by madness::archive::ArchiveStoreImpl< Archive, const DerivativeBase< T, NDIM > * >::store(), madness::archive::ArchiveStoreImpl< Archive, const FunctionImpl< T, NDIM > * >::store(), madness::archive::ArchiveStoreImpl< Archive, FunctionImpl< T, NDIM > * >::store(), madness::archive::ArchiveStoreImpl< BufferOutputArchive, const WorldObject< Derived > * >::store(), and madness::archive::ArchiveStoreImpl< BufferOutputArchive, WorldObject< Derived > * >::store().
|
inlinestaticprivate |
The slightly convoluted logic is to ensure ordering when processing pending messages. If a new message arrives while processing incoming messages it must be queued.
| [in] | id | Description needed. |
| [in,out] | obj | Description needed. |
| [in] | arg | Description needed. |
| [in,out] | ptr | Description needed. |
References madness::arg(), MADNESS_ASSERT, MADNESS_PRAGMA_CLANG, madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::pending, madness::WorldObject< Derived >::pending_mutex, and madness::pop().
Referenced by madness::WorldObject< Derived >::handler(), and madness::WorldObject< Derived >::spawn_remote_task_handler().
|
delete |
|
private |
|
private |
|
private |
|
inlineprotected |
To be called from derived constructor to process pending messages.
Cannot call this from the WorldObject constructor since the derived class would not yet be fully constructed.
References madness::Spinlock::lock(), MADNESS_PRAGMA_CLANG, madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::objid, p(), madness::WorldObject< Derived >::pending, madness::WorldObject< Derived >::pending_mutex, madness::pop(), madness::WorldObject< Derived >::ready, and madness::Spinlock::unlock().
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
References madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::send_am(), and madness::Future< void >::value.
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
References a1, madness::WorldObject< Derived >::am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::send_am(), and madness::Future< void >::value.
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
References a1, a2, madness::WorldObject< Derived >::am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::send_am(), and madness::Future< void >::value.
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
References a1, a2, madness::WorldObject< Derived >::am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::send_am(), and madness::Future< void >::value.
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
References a1, a2, madness::WorldObject< Derived >::am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::send_am(), and madness::Future< void >::value.
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
References a1, a2, madness::WorldObject< Derived >::am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::send_am(), and madness::Future< void >::value.
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
References a1, a2, madness::WorldObject< Derived >::am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::send_am(), and madness::Future< void >::value.
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| a7T | Type of argument 7. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
| a7 | Argument 7. |
References a1, a2, madness::WorldObject< Derived >::am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::send_am(), and madness::Future< void >::value.
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| a7T | Type of argument 7. |
| a8T | Type of argument 8. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
| a7 | Argument 7. |
| a8 | Argument 8. |
References a1, a2, madness::WorldObject< Derived >::am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::send_am(), and madness::Future< void >::value.
|
inline |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| a7T | Type of argument 7. |
| a8T | Type of argument 8. |
| a9T | Type of argument 9. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
| a7 | Argument 7. |
| a8 | Argument 8. |
| a9 | Argument 9. |
References a1, a2, madness::WorldObject< Derived >::am_arg(), madness::nonlinear_vector_solver(), and madness::WorldObject< Derived >::send_am().
|
inlineprivate |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| a7T | Type of argument 7. |
| a8T | Type of argument 8. |
| a9T | Type of argument 9. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
| a7 | Argument 7. |
| a8 | Argument 8. |
| a9 | Argument 9. |
References a1, a2, madness::World::am, madness::WorldObject< Derived >::me, madness::new_am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::objid, madness::Future< T >::remote_ref(), madness::detail::run_function(), madness::WorldAmInterface::send(), and madness::WorldObject< Derived >::world.
Referenced by madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), madness::WorldObject< Derived >::send(), and madness::WorldObject< Derived >::send().
|
inlineprivate |
| taskT | Description needed. |
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| a7T | Type of argument 7. |
| a8T | Type of argument 8. |
| a9T | Type of argument 9. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
| a7 | Argument 7. |
| a8 | Argument 8. |
| a9 | Argument 9. |
| attr | Description needed. |
References a1, a2, madness::World::am, madness::RMI::ATTR_UNORDERED, madness::WorldObject< Derived >::me, madness::new_am_arg(), madness::nonlinear_vector_solver(), madness::WorldObject< Derived >::objid, madness::WorldAmInterface::send(), and madness::WorldObject< Derived >::world.
|
inlinestaticprivate |
Handler for remote arguments.
| taskT | Description needed. |
| [in] | arg | Description needed. |
References madness::arg(), madness::detail::info_base< memfunT >::attr, madness::WorldObject< Derived >::is_ready(), MADNESS_ASSERT, madness::detail::info_base< memfunT >::memfun(), madness::nonlinear_vector_solver(), madness::detail::peek(), madness::detail::info< memfunT >::ref, and madness::WorldObject< Derived >::task().
|
inline |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8,a9).
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| a7T | Type of argument 7. |
| a8T | Type of argument 8. |
| a9T | Type of argument 9. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
| a7 | Argument 7. |
| a8 | Argument 8. |
| a9 | Argument 9. |
| attr | Description needed. |
References a1, a2, madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::am_arg(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, and madness::WorldObject< Derived >::world.
|
inline |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8).
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| a7T | Type of argument 7. |
| a8T | Type of argument 8. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
| a7 | Argument 7. |
| a8 | Argument 8. |
| attr | Description needed. |
References a1, a2, madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::am_arg(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, madness::Future< void >::value, and madness::WorldObject< Derived >::world.
|
inline |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7).
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| a7T | Type of argument 7. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
| a7 | Argument 7. |
| attr | Description needed. |
References a1, a2, madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::am_arg(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, madness::Future< void >::value, and madness::WorldObject< Derived >::world.
|
inline |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6).
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| a6T | Type of argument 6. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| a6 | Argument 6. |
| attr | Description needed. |
References a1, a2, madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::am_arg(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, madness::Future< void >::value, and madness::WorldObject< Derived >::world.
|
inline |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5).
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| a5T | Type of argument 5. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| a5 | Argument 5. |
| attr | Description needed. |
References a1, a2, madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::am_arg(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, madness::Future< void >::value, and madness::WorldObject< Derived >::world.
|
inline |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4).
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| a4T | Type of argument 4. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| a4 | Argument 4. |
| attr | Description needed. |
References a1, a2, madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::am_arg(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, madness::Future< void >::value, and madness::WorldObject< Derived >::world.
|
inline |
Sends task to derived class method returnT (this->*memfn)(a1,a2,a3).
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| a3T | Type of argument 3. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| a3 | Argument 3. |
| attr | Description needed. |
References a1, a2, madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::am_arg(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, madness::Future< void >::value, and madness::WorldObject< Derived >::world.
|
inline |
Sends task to derived class method returnT (this->*memfn)(a1,a2).
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| a2T | Type of argument 2. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| a2 | Argument 2. |
| attr | Description needed. |
References a1, a2, madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::am_arg(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, madness::Future< void >::value, and madness::WorldObject< Derived >::world.
|
inline |
Sends task to derived class method returnT (this->*memfn)(a1).
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| a1T | Type of argument 1. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| a1 | Argument 1. |
| attr | Description needed. |
References a1, madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::am_arg(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, madness::Future< void >::value, and madness::WorldObject< Derived >::world.
|
inline |
Sends task to derived class method returnT (this->*memfn)().
| memfnT | Verify: Signature of the member function in the derived class to be invoked for the task. |
| dest | Description needed. |
| memfn | Verify: The member function to be invoked for the task. |
| attr | Description needed. |
References madness::WorldTaskQueue::add(), madness::WorldObject< Derived >::me, madness::nonlinear_vector_solver(), madness::World::taskq, madness::Future< void >::value, and madness::WorldObject< Derived >::world.
Referenced by madness::CoeffTracker< T, NDIM >::activate(), madness::FunctionImpl< T, NDIM >::Vphi_op_NS< opT, LDIM >::continue_recursion(), madness::FunctionImpl< T, NDIM >::copy_remote_coeffs_from_pid(), madness::FunctionImpl< T, NDIM >::mulXXveca(), madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::recursive_apply_op2< opT >::operator()(), madness::WorldContainerImpl< keyT, valueT, hashfunT >::P2Op::operator()(), and madness::WorldObject< Derived >::spawn_remote_task_handler().
|
private |
Rank of self.
Referenced by madness::WorldObject< Derived >::send_am(), madness::WorldObject< Derived >::send_task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), and madness::WorldObject< Derived >::task().
|
private |
|
inlinestaticprivate |
Buffer for pending messages.
Referenced by madness::WorldObject< Derived >::is_ready(), and madness::WorldObject< Derived >::process_pending().
|
inlinestaticprivate |
Referenced by madness::WorldObject< Derived >::is_ready(), and madness::WorldObject< Derived >::process_pending().
True if ready to rock 'n roll.
Referenced by madness::WorldObject< Derived >::process_pending().
|
private |
The World this object belongs to. (Think globally, act locally).
Referenced by madness::WorldObject< Derived >::~WorldObject(), madness::WorldObject< Derived >::get_world(), madness::WorldObject< Derived >::send_am(), madness::WorldObject< Derived >::send_task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), madness::WorldObject< Derived >::task(), and madness::WorldObject< Derived >::task().