Common data members and methods of the distributed objects that implement the transfer of elements between locations during container redistribution.
More...
|
struct | cid_eq |
| Functor used to find the base container information of the cid provided. More...
|
|
|
using | size_type = rmi_handle::size_type |
|
|
template<typename Partition , typename Mapper > |
void | remap_domain (typename Partition::value_type::index_type first, typename Partition::value_type::index_type last, Partition const &partition, Mapper const &mapper, std::vector< bc_info_type > &partial_info) |
|
template<typename Distributor , typename Partition , typename Mapper , typename BaseContainers , typename NewBaseContainers > |
void | exchange_data (std::vector< bc_info_type > &partial_info, Partition const &partition, Mapper const &mapper, BaseContainers &m_bcontainers, NewBaseContainers &m_new_bcontainers) |
|
|
typedef tuple_element< 1, PartitionInfo >::type | cid_type |
|
typedef PartitionInfo | bc_info_type |
|
typedef tuple_element< 0, PartitionInfo >::type | interval_set_type |
|
typedef interval_set_type::element_type | gid_type |
|
typedef interval_set_type::element_type | index_type |
|
typedef BaseContainer | base_container_type |
|
typedef std::map< gid_type, typename BaseContainer::container_type::value_type > | data_set_type |
|
|
std::vector< PartitionInfo > | m_sender_info |
| partition information that characterizes data currently stored on a location.
|
|
std::vector< PartitionInfo > | m_receiver_info |
| partition information that characterizes data that will be stored on a location after redistribution.
|
|
base_container_ordering * | m_ordering |
| ordering of the base containers
|
|
ElemAssign | m_assign |
| functor used to assign to base container elements
|
|
template<typename BaseContainer, typename PartitionInfo, typename ElemAssign>
struct stapl::cm_impl::distributor_base< BaseContainer, PartitionInfo, ElemAssign >
Common data members and methods of the distributed objects that implement the transfer of elements between locations during container redistribution.
- Template Parameters
-
BaseContainers | Boost ICL structure that is used to store base containers. |
PartitionInfo | tuple that represents metadata of a partition to be redistributed. The elements of the tuple are the partition domain, partition id, destination location, and vector of locations that contribute to the partition. |
ElemAssign | Functor that implements assignment to a base container element. Required because graph base containers implement vp_set instead of set_element. |
◆ get_location_md()
Returns the location metadata of the location this object registered in. noexcept
noexcept
◆ advance_epoch()
void stapl::p_object::advance_epoch |
( |
void |
| ) |
|
|
inherited |
Advances the epoch of the object.
Advancing the epoch will flush any pending RMIs. It will also increase the epoch of the current gang if the object is not a named object.
◆ unlock()
void stapl::p_object::unlock |
( |
void |
| ) |
|
|
inherited |
Used by lock_guard
functionality in method of derived classes to request atomicity with respect to incoming RMIs.
Mutates counter in the associated runqueue.
◆ lock()
void stapl::p_object::lock |
( |
void |
| ) |
|
|
inherited |
Used by lock_guard
functionality in method of derived classes to request atomicity with respect to incoming RMIs.
Mutates counter in the associated runqueue.
◆ try_lock()
bool stapl::p_object::try_lock |
( |
void |
| ) |
|
|
inherited |
Attempt to maintain atomicity with respect to incoming RMIs.
Mutates counter in the associated runqueue.
- Returns
true
if the lock was able to be acquired. false
if it is already locked.
The documentation for this struct was generated from the following file: