STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::multidimensional_mapper< CID, Traversal, MF > Class Template Reference

Maps multidimensional subdomains to locations in blocked manner in each dimension. More...

Public Member Functions

template<typename Partition >
 multidimensional_mapper (Partition const &part, map_func_type const &mf=map_func_type())
 Instantiate the mapper with the partition of the container and optionally, the reverse linearization function. More...
 
 multidimensional_mapper (multidimensional_mapper const &other)
 
cid_view_type components (value_type const &loc) const
 Create a view that contains all of the base container IDs that a particular location is responsible for. This is the inverse of mapper::map. More...
 
value_type map (cid_type const &cid) const
 Map a base container ID to a location. More...
 

Public Types

typedef CID cid_type
 
typedef Traversal traversal_type
 
typedef MF map_func_type
 
typedef functor_container< map_func_type > container_type
 
typedef container_type::domain_type domain_type
 
typedef location_type value_type
 
typedef array_ro_view< container_type, typename partition_cids_type::value_type, map_func_type > cid_view_type
 A view used to return the CIDs a location is responsible for.
 

Detailed Description

template<typename CID, typename Traversal = typename default_traversal<tuple_size<CID>::value>::type, typename MF = nd_reverse_linearize<CID, Traversal>>
class stapl::multidimensional_mapper< CID, Traversal, MF >

Maps multidimensional subdomains to locations in blocked manner in each dimension.

Template Parameters
CIDThe base container ID type.
TraversalThe traversal type.
MFA reverse linearization mapping function.

Constructor & Destructor Documentation

◆ multidimensional_mapper()

template<typename CID , typename Traversal = typename default_traversal<tuple_size<CID>::value>::type, typename MF = nd_reverse_linearize<CID, Traversal>>
template<typename Partition >
stapl::multidimensional_mapper< CID, Traversal, MF >::multidimensional_mapper ( Partition const &  part,
map_func_type const &  mf = map_func_type() 
)

Instantiate the mapper with the partition of the container and optionally, the reverse linearization function.

Parameters
partPartition of the container.
mfA function object to perform reverse linearization.

Member Function Documentation

◆ components()

template<typename CID , typename Traversal = typename default_traversal<tuple_size<CID>::value>::type, typename MF = nd_reverse_linearize<CID, Traversal>>
cid_view_type stapl::multidimensional_mapper< CID, Traversal, MF >::components ( value_type const &  loc) const

Create a view that contains all of the base container IDs that a particular location is responsible for. This is the inverse of mapper::map.

Parameters
locThe location to query
Returns
A view of base container IDs

◆ map()

template<typename CID , typename Traversal = typename default_traversal<tuple_size<CID>::value>::type, typename MF = nd_reverse_linearize<CID, Traversal>>
value_type stapl::multidimensional_mapper< CID, Traversal, MF >::map ( cid_type const &  cid) const

Map a base container ID to a location.

Parameters
cidThe base container ID
Returns
The location that the base container ID is mapped to

The documentation for this class was generated from the following file: