◆ Impl()
Constructor.
- Template Parameters
-
A | An std compliant array (e.g. std::array or std::vector ) |
- Parameters
-
world | The world that is the basis for this group |
did | The distributed id associated with this group |
group | An array of Processes in world |
References group_rank_, group_to_world_map_, local_count_, MADNESS_ASSERT, madness::nonlinear_vector_solver(), rank(), madness::World::rank(), remote_count_, size(), madness::World::size(), and world_.
◆ begin() [1/2]
static vectorT::const_iterator madness::Group::Impl::begin |
( |
const vectorT & |
v | ) |
|
|
inlinestaticprivate |
Array const begin iterator accessor.
- Template Parameters
-
- Parameters
-
- Returns
- The begin const_iterator of
v
References v.
◆ begin() [2/2]
static T * madness::Group::Impl::begin |
( |
T(&) |
a[N] | ) |
|
|
inlinestaticprivate |
Array begin iterator accessor.
- Template Parameters
-
T | The array type |
N | The size of the array |
- Parameters
-
- Returns
- A pointer to the first element of
a
References a.
◆ deleter()
Local group deleter.
Updates the remote usage count with the negative of the local usage count by calling remote_update
.
References local_count_, and remote_update().
◆ end() [1/2]
static vectorT::const_iterator madness::Group::Impl::end |
( |
const vectorT & |
v | ) |
|
|
inlinestaticprivate |
Array const end iterator accessor.
- Template Parameters
-
- Parameters
-
- Returns
- The end cosnt_iterator of
v
References v.
◆ end() [2/2]
static T * madness::Group::Impl::end |
( |
T(&) |
a[N] | ) |
|
|
inlinestaticprivate |
Array end iterator accessor.
- Template Parameters
-
T | The array type |
N | The size of the array |
- Parameters
-
- Returns
- A pointer to one past the last element of
a
References a, and N.
Referenced by make_tree().
◆ get_world()
World & madness::Group::Impl::get_world |
( |
| ) |
const |
|
inline |
Parent world accessor.
- Returns
- A reference to the parent world of this group
References world_.
◆ id()
Group id accessor.
- Returns
- A const reference to the group id
References did_.
◆ local_update()
void madness::Group::Impl::local_update |
( |
| ) |
const |
|
inline |
Local usage update.
Increment the local usage count by one.
References local_count_.
◆ make_tree()
◆ rank() [1/2]
ProcessID madness::Group::Impl::rank |
( |
| ) |
const |
|
inline |
Group rank accessor.
- Returns
- The rank of this process in the group
References group_rank_.
Referenced by Impl().
◆ rank() [2/2]
Map world rank to group rank.
- Parameters
-
world_rank | The world rank to be mapped |
- Returns
- The group rank of
world_rank
when it is a member of this group, otherwise -1
.
References std::distance(), group_to_world_map_, and world_rank().
◆ remote_update()
void madness::Group::Impl::remote_update |
( |
const int |
n | ) |
const |
|
inline |
Remote usage update.
- Parameters
-
n | The value that will be added to the remote count Add n to the remote count. The remote count will be updated with the negative of the local count so the final value will be equal to zero when the group is ready for destruction. When the group is ready for destruction it will be removed from the group registry. |
References did_, remote_count_, and madness::Group::unregister_group().
Referenced by deleter().
◆ size() [1/3]
ProcessID madness::Group::Impl::size |
( |
| ) |
const |
|
inline |
◆ size() [2/3]
static std::enable_if<!std::is_array< vectorT >::value, std::size_t >::type madness::Group::Impl::size |
( |
const vectorT & |
v | ) |
|
|
inlinestaticprivate |
Array size accessor.
- Template Parameters
-
- Parameters
-
- Returns
- The size of array
v
References v.
◆ size() [3/3]
static std::size_t madness::Group::Impl::size |
( |
T(&) |
a[N] | ) |
|
|
inlinestaticprivate |
Array size accessor.
- Template Parameters
-
T | The array type |
N | The size of the array |
- Parameters
-
- Returns
- The size of array
a
References N.
◆ world_rank()
◆ did_
◆ group_rank_
◆ group_to_world_map_
std::vector<ProcessID> madness::Group::Impl::group_to_world_map_ |
|
private |
◆ local_count_
◆ remote_count_
AtomicInt madness::Group::Impl::remote_count_ |
|
mutableprivate |
◆ world_
World& madness::Group::Impl::world_ |
|
private |
The documentation for this class was generated from the following file: