|
| distribution_spec_view (distribution_spec_view const &other)=default |
|
template<typename MapFunc > |
| distribution_spec_view (view_container_type *vcont, domain_type const &dom, MapFunc mfunc, bool arbitrary) |
| Constructs a view over either the location or partition id space with a domain that represents the GID or partition id space, respectively. The mapping function maps from the space of the domain to an index in the space of the container. The view takes ownership of the container. More...
|
|
template<typename MapFunc > |
| distribution_spec_view (view_container_type &vcont, domain_type const &dom, MapFunc mfunc, bool arbitrary) |
|
template<typename MapFunc > |
| distribution_spec_view (view_container_type *vcont, domain_type const &dom, MapFunc mfunc, distribution_type d=distribution_type::unknown) |
|
template<typename MapFunc > |
| distribution_spec_view (view_container_type &vcont, domain_type const &dom, MapFunc mfunc, distribution_type d=distribution_type::unknown) |
|
template<typename MapFunc > |
| distribution_spec_view (view_container_type &vcont, domain_type const &dom, MapFunc mfunc, distribution_spec_view const &other) |
|
bool | arbitrary (void) const |
|
distribution_type | distribution (void) |
|
view_container_type * | get_container (void) const |
|
view_container_type & | container (void) const |
|
domain_type & | domain (void) |
|
domain_type const & | domain (void) const |
|
std::shared_ptr< map_func_type > | mapfunc (void) |
|
const std::shared_ptr< map_func_type > | mapfunc (void) const |
|
size_type | size (void) const |
|
bool | empty (void) const |
|
reference | operator[] (index_type index) const |
|
reference | make_reference (index_type index) const |
|
boost::shared_ptr< distribution_spec_view< C, Dom, GID, CID > > | shared_from_this () |
|
template<typename C, typename Dom, typename GID, typename CID>
class stapl::distribution_spec_view< C, Dom, GID, CID >
One dimensional read only view used to specify data distribution.
Provides a random access operation that performs the mapping of container element ids to partition ids and, ultimately, to location ids. The type of the mapping function is not modifiable, as the class uses mapping_base to allow implementation of mapping function update operations. The use of mapping_base is in support of the update_distribution method of containers that utilize view-based distributions, in particular arbitrary mappings of elements to locations.
- Template Parameters
-
C | Type of the underlying "container" is either a view over the partition id space or location id space. |
Dom | Type of the domain of the indices being mapped. |
template<typename C , typename Dom , typename GID , typename CID >
template<typename MapFunc >
Constructs a view over either the location or partition id space with a domain that represents the GID or partition id space, respectively. The mapping function maps from the space of the domain to an index in the space of the container. The view takes ownership of the container.
- Parameters
-
vcont | pointer to the container representing space on which view elements will be mapped. |
dom | domain representing the set of elements to be mapped on to the id space defined by the container. |
mfunc | mapping function to transform view indices to container gids. |
arbitrary | optional flag indicating whether the view is part of an arbitrary distribution specification |