|
MADNESS
version 0.9
|
A global pointer address, valid anywhere in the world. More...
#include <worldptr.h>
Public Types | |
| typedef unsigned long | worldidT |
| World ID type. More... | |
| typedef T * | pointer |
| typedef ptr_traits< T >::reference | reference |
Public Member Functions | |
| WorldPtr () | |
| Default constructor. More... | |
| WorldPtr (World &w, T *p) | |
| World pointer constructor. More... | |
| WorldPtr (const WorldPtr< T > &other) | |
| Copy constructor. More... | |
| template<typename U > | |
| WorldPtr (const WorldPtr< U > &other) | |
| Copy conversion constructor. More... | |
| WorldPtr< T > & | operator= (const WorldPtr< T > &other) |
| Copy assignment operator. More... | |
| template<typename U > | |
| WorldPtr< T > & | operator= (const WorldPtr< U > &other) |
| Copy conversion assignment operator. More... | |
| bool | is_local () const |
| Check that the world pointer references a local pointer. More... | |
| bool | has_owner () const |
| Check that the world pointer has an owner. More... | |
| pointer | get () const |
| Pointer accessor. More... | |
| reference | operator* () const |
| Dereference operator. More... | |
| pointer | operator-> () const |
| Pointer arrow operator. More... | |
| operator bool () const | |
| Boolean conversion operator. More... | |
| bool | operator! () const |
| Boolean conversion operator. More... | |
| template<typename U > | |
| bool | operator== (const WorldPtr< U > &other) const |
| Equality comparison operator. More... | |
| template<typename U > | |
| bool | operator!= (const WorldPtr< U > &other) const |
| Inequality comparison operator. More... | |
| template<typename U > | |
| bool | operator< (const WorldPtr< U > &other) const |
| Less-than comparison operator. More... | |
| World & | get_world () const |
| World accessor. More... | |
| worldidT | get_worldid () const |
| World ID accessor. More... | |
| ProcessID | owner () const |
| Rank accessor. More... | |
| template<typename U > | |
| void | swap (WorldPtr< U > &other) |
Swap the content of this with other. More... | |
| template<class Archive > | |
| void | load_internal_ (const Archive &ar) |
| Serialize/deserialize the world pointer. More... | |
| template<class Archive > | |
| void | store_internal_ (const Archive &ar) const |
Friends | |
| template<typename > | |
| class | WorldPtr |
| std::ostream & | operator<< (std::ostream &out, const WorldPtr< T > &p) |
A global pointer address, valid anywhere in the world.
Stores a globally addressable pointer. It can be sent to any process in the world.
| T | The pointer type |
| typedef T* madness::detail::WorldPtr< T >::pointer |
| typedef ptr_traits<T>::reference madness::detail::WorldPtr< T >::reference |
| typedef unsigned long madness::detail::WorldPtr< T >::worldidT |
World ID type.
|
inline |
Default constructor.
Creates a NULL pointer. There is no owner (i.e. the owner is set to -1).
| nothing |
|
inline |
World pointer constructor.
Construct a world pointer form a local pointer.
| w | A reference to the local world. |
| p | The local pointer. |
| nothing |
|
inline |
Copy constructor.
| other | The world pointer to be copied |
| nothing |
|
inline |
Copy conversion constructor.
Copy and convert pointer from U* to T* type.
| U | The pointer type of the other pointer |
| other | The world pointer to be copied |
| nothing |
U* must be implicitly convertible to T* type.
|
inline |
Pointer accessor.
Get the pointer of the world pointer. Note: A default initialized pointer is not considered to be local because it is not associated with a world.
| MadnessException | When the pointer references a remote address. |
|
inline |
World accessor.
| MadnessException | When the pointer world has not been set (i.e. When has_owner()==false) |
Referenced by madness::detail::RemoteCounter::get_world().
|
inline |
World ID accessor.
| nothing |
Referenced by madness::detail::RemoteCounter::get_worldid(), and madness::detail::WorldPtr< madness::detail::RemoteCounterBase >::load_internal_().
|
inline |
Check that the world pointer has an owner.
| nothing |
Referenced by madness::detail::RemoteCounter::has_owner().
|
inline |
Check that the world pointer references a local pointer.
true when the pointer points to a local address, and false when it points to a remote address or is NULL. | nothing |
Referenced by madness::detail::WorldPtr< madness::detail::RemoteCounterBase >::get(), madness::detail::RemoteCounter::is_local(), madness::detail::WorldPtr< madness::detail::RemoteCounterBase >::operator*(), madness::detail::WorldPtr< madness::detail::RemoteCounterBase >::operator->(), madness::detail::RemoteCounter::RemoteCounter(), and madness::detail::RemoteCounter::use_count().
|
inline |
Serialize/deserialize the world pointer.
Serialize/deserialize the world pointer for remote communication or write to disk.
| Archive | The archive object type. |
Referenced by madness::archive::ArchiveLoadImpl< Archive, detail::WorldPtr< T > >::load().
|
inline |
Boolean conversion operator.
true when the pointer is non-null and false otherwise | nothing |
|
inline |
Boolean conversion operator.
true when the pointer is null and false otherwise | nothing |
|
inline |
Inequality comparison operator.
| U | Another pointer type |
true when the pointers refer to different addresses or different nodes or different worlds. | nothing |
|
inline |
Dereference operator.
Dereference the local pointer.
| MadnessException | When the pointer references a remote address, or when the pointer is NULL. |
|
inline |
Pointer arrow operator.
Access members of the pointer
| MadnessException | When the pointer references a remote address, or when the pointer is NULL. |
|
inline |
Less-than comparison operator.
This operator does a lexicographical comparison of world ID, rank, and pointer (in that order).
| U | Another pointer type |
true when the lexicographical comparison of world ID, rank, and pointer is true, and false otherwise. | nothing |
|
inline |
Copy assignment operator.
| other | The world pointer to be copied |
| nothing |
|
inline |
Copy conversion assignment operator.
Copy and convert pointer from U* to T* type.
| U | The pointer type of the other pointer |
| other | The world pointer to be copied |
| nothing |
U* must be implicitly convertible to T* type.
|
inline |
Equality comparison operator.
| U | Another pointer type |
true when the pointers refer to the same address from the same node in the same world. | nothing |
|
inline |
Rank accessor.
If the pointer is not associated with
| nothing |
Referenced by madness::detail::RemoteCounter::owner().
|
inline |
|
inline |
Swap the content of this with other.
| U | The other world pointer type |
| nothing |
U* must be implicitly convertible to T* type. Referenced by madness::detail::swap().
|
friend |
1.8.8