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.