Base container storage for pContainers that are guaranteed to have only one base container per location.
More...
|
iterator | begin (void) |
|
iterator | end (void) |
|
const_iterator | begin (void) const |
|
const_iterator | end (void) const |
|
iterator | find (gid_type const &gid) |
| Returns an iterator to the base container that contains the given GID. If not found, it returns an end iterator. More...
|
|
const_iterator | find (gid_type const &gid) const |
| Returns an iterator to the base container that contains the given GID. If not found, it returns an end iterator. More...
|
|
iterator | find_expect (gid_type const &gid) |
| Returns an iterator to the base container that contains the given GID. If not found, it aborts in debug mode and is undefined behavior in non-debug mode. More...
|
|
const_iterator | find_expect (gid_type const &gid) const |
| Returns an iterator to the base container that contains the given GID. If not found, it aborts in debug mode and is undefined behavior in non-debug mode. More...
|
|
size_t | size (void) |
| Returns number of the local base containers in this base container manager storage.
|
|
void | clear (void) |
|
template<typename Domain , typename Factory > |
base_container_type * | insert_range (Domain const &dom, Factory const &f) |
| Constructs a base container that is responsible for a given domain through the use of a factory and inserts it into the registry. More...
|
|
|
template<typename F > |
void | clone_apply (single_container_registry const &other, F const &f) |
| Clone the base container and apply a function that takes the old base container and the newly created one. More...
|
|
template<typename Partition , typename Mapper , typename BC_Factory > |
void | init (Partition const &partition, Mapper const &mapper, BC_Factory const &bc_factory, base_container_ordering &ordering, typename std::enable_if< std::is_same< Partition, balanced_partition< typename Partition::value_type > >::value >::type *=0) |
| Find the domain and component id of the base container that will be created for the pContainer on this location. More...
|
|
template<typename Container>
struct stapl::single_container_registry< Container >
Base container storage for pContainers that are guaranteed to have only one base container per location.
- Template Parameters
-
Container | Type of the base container. |
template<typename Container >
template<typename Partition , typename Mapper , typename BC_Factory >
Find the domain and component id of the base container that will be created for the pContainer on this location.
- Parameters
-
partition | instance of balanced_partition that partitions GIDs into the domains of the base containers. |
mapper | Maps partitions to locations. |
- Returns
- a pair of the cid and domain of the base container.
This specialization for balanced_partition is able to construct the base containers without communication, and as a result is faster than the general algorithm implemented in the non-specialized bc_domain method.