|
template<typename vectorT > |
static vectorT::const_iterator | begin (const vectorT &v) |
| Array const begin iterator accessor.
|
|
template<typename T , std::size_t N> |
static T * | begin (T(&a)[N]) |
| Array begin iterator accessor.
|
|
template<typename vectorT > |
static vectorT::const_iterator | end (const vectorT &v) |
| Array const end iterator accessor.
|
|
template<typename T , std::size_t N> |
static T * | end (T(&a)[N]) |
| Array end iterator accessor.
|
|
template<typename vectorT > |
static std::enable_if<!std::is_array< vectorT >::value, std::size_t >::type | size (const vectorT &v) |
| Array size accessor.
|
|
template<typename T , std::size_t N> |
static std::size_t | size (T(&a)[N]) |
| Array size accessor.
|
|
◆ Impl()
◆ begin() [1/2]
template<typename vectorT >
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]
template<typename
T , std::size_t N>
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()
static void madness::Group::Impl::deleter |
( |
Impl * |
pimpl | ) |
|
|
inlinestatic |
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]
template<typename vectorT >
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]
template<typename
T , std::size_t N>
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()
Compute the binary tree parent and children.
- Parameters
-
[in] | group_root | The head node of the binary tree |
[out] | parent | The parent node of the binary tree |
[out] | child0 | The left child node of the binary tree |
[out] | child1 | The right child node of the binary tree |
References end(), group_rank_, group_to_world_map_, MADNESS_ASSERT, and me.
◆ 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]
template<typename vectorT >
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]
template<typename
T , std::size_t N>
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: