STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::directory_impl::manager< Partition, Mapper > Class Template Reference

A directory's manager maps GIDs to locations that are responsible for knowing exact locality about that GID. The result of this mapping is not necessarily the actual locality of the element. This manager uses the partition and mapper information to perform the translation. More...

Public Member Functions

 manager (Partition const &partition, Mapper const &mapper)
 Create a manager with a given partition and mapper. More...
 
template<typename PartitionContainer >
 manager (PartitionContainer const *const part_cont, Partition const &partition, Mapper const &mapper)
 Create a manager for an arbitrary distribution specified by the elements of part_cont and represented by the partition and mapper parameters. More...
 
std::pair< value_type, loc_qualoperator() (gid_type const &x) const
 Look up the home location (manager location) of a GID. More...
 
Partition const & partition () const
 
Partition & partition ()
 
void partition (Partition const &p)
 
Mapper const & mapper () const
 
Mapper & mapper (void)
 
void mapper (Mapper const &m)
 

Public Types

using partition_type = Partition
 
using mapper_type = Mapper
 
using gid_type = typename Partition::gid_type
 GID of the container.
 
using value_type = typename Mapper::value_type
 Location type.
 

Detailed Description

template<typename Partition, typename Mapper>
class stapl::directory_impl::manager< Partition, Mapper >

A directory's manager maps GIDs to locations that are responsible for knowing exact locality about that GID. The result of this mapping is not necessarily the actual locality of the element. This manager uses the partition and mapper information to perform the translation.

Template Parameters
PartitionThe container's partition
MapperThe container's mapper
See also
container_directory

Constructor & Destructor Documentation

◆ manager() [1/2]

template<typename Partition, typename Mapper>
stapl::directory_impl::manager< Partition, Mapper >::manager ( Partition const &  partition,
Mapper const &  mapper 
)

Create a manager with a given partition and mapper.

Parameters
pThe partition of the container
mThe mapper of the container

◆ manager() [2/2]

template<typename Partition, typename Mapper>
template<typename PartitionContainer >
stapl::directory_impl::manager< Partition, Mapper >::manager ( PartitionContainer const *const  part_cont,
Partition const &  partition,
Mapper const &  mapper 
)

Create a manager for an arbitrary distribution specified by the elements of part_cont and represented by the partition and mapper parameters.

Parameters
pThe partition of the container
mThe mapper of the container

Member Function Documentation

◆ operator()()

template<typename Partition, typename Mapper>
std::pair<value_type, loc_qual> stapl::directory_impl::manager< Partition, Mapper >::operator() ( gid_type const &  x) const

Look up the home location (manager location) of a GID.

Parameters
xGID to lookup
Returns
The location responsible for x's metadata.
Note
The mapper is defined as mapping pContainer component ids to locations for data distribution. This manager is implementing a perfect mapping of home locations to storage locations as a result, unless element migration has changed the original distribution.

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