|
MADNESS 0.10.1
|
helper class for returning the result of a task, which is not a madness Function, but a simple scalar More...
#include <macrotaskq.h>


Public Types | |
| typedef T | value_type |
| Public Types inherited from madness::WorldObject< ScalarResultImpl< T > > | |
| typedef WorldObject< ScalarResultImpl< T > > | objT |
Public Member Functions | |
| ScalarResultImpl (const ScalarResultImpl &other)=delete | |
| Disable the default copy constructor. | |
| ScalarResultImpl (World &world) | |
| ~ScalarResultImpl () | |
| void | gaxpy (const double a, const T &right, double b, const bool fence=true) |
| accumulate, optional fence | |
| T | get () |
| after completion of the taskq get the final value | |
| T | get_local () const |
| ScalarResultImpl< T > & | operator+= (const T &x) |
| ScalarResultImpl< T > & | operator= (const ScalarResultImpl< T > &other)=delete |
| disable assignment operator | |
| ScalarResultImpl< T > & | operator= (const T &x) |
| simple assignment of the scalar value | |
| template<typename Archive> | |
| void | serialize (Archive &ar) |
| Public Member Functions inherited from madness::WorldObject< ScalarResultImpl< T > > | |
| WorldObject (const WorldObject &other) | |
| virtual | ~WorldObject () |
| WorldObject & | operator= (const WorldObject &)=delete |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn) const |
| 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 () |
| World & | get_world () const |
| World & | get_world_noexcept () const noexcept |
| Get the world to which this object belongs, without risking a throw. | |
| const uniqueidT & | id () const |
| Returns the globally unique object ID. | |
| bool | world_is_alive () const noexcept |
| Reports whether the world to which this object belongs still exists. | |
Private Attributes | |
| T | value =T() |
| the scalar value | |
Additional Inherited Members | |
| Protected Member Functions inherited from madness::WorldObject< ScalarResultImpl< T > > | |
| void | process_pending () |
| To be called from derived constructor to process pending messages. | |
| Protected Member Functions inherited from madness::WorldObjectBase | |
| WorldObjectBase (const WorldObjectBase &other) | |
| Copy constructor; produces an unregistered object. | |
| WorldObjectBase (World &w) | |
| Construct a new WorldObjectBase. | |
| World & | get_world_unchecked () const noexcept |
| Unchecked access to the memoized world reference. | |
| template<typename DerivedT> | |
| void | register_self (DerivedT *this_ptr) |
| Registers this object with its world, making it globally addressable. | |
helper class for returning the result of a task, which is not a madness Function, but a simple scalar
the result value is accumulated via gaxpy in universe rank=0, after completion of the taskq the final value can be obtained via get(), which includes a broadcast of the final value to all processes
| typedef T madness::ScalarResultImpl< T >::value_type |
|
inline |
|
delete |
Disable the default copy constructor.
References ScalarResultImpl().
|
inline |
|
inline |
accumulate, optional fence
References a, b, gaxpy(), madness::WorldObjectBase::get_world(), madness::WorldObject< ScalarResultImpl< T > >::send(), and value.
Referenced by gaxpy(), and operator+=().
|
inline |
after completion of the taskq get the final value
References madness::WorldGopInterface::broadcast_serializable(), madness::WorldObjectBase::get_world(), madness::World::gop, and value.
|
inline |
|
inline |
References ScalarResultImpl(), and gaxpy().
|
delete |
disable assignment operator
References ScalarResultImpl().
|
inline |
simple assignment of the scalar value
References ScalarResultImpl(), and value.
|
inline |
References value.
|
private |
the scalar value
Referenced by gaxpy(), get(), get_local(), operator=(), and serialize().