STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::metadata::container_extractor_base< Derived > Class Template Reference

Class for computing the metadata of static containers that use container_manager_static that inherits from the base-container, and thus, is the base-container itself. This type of container manager has only one component per location. More...

Public Member Functions

md_collection_type local_entries (distribution_type *dist) const
 Create a collection of metadata entries for all of the entries on this location. More...
 
template<typename Container , typename Accessor >
return_type operator() (proxy< Container, Accessor > *proxy_cont) const
 Return the metadata of a reference to a container. More...
 
return_type operator() (container_type *cont) const
 Return the metadata of the specified container. More...
 
return_type operator() (distribution_type *dist) const
 Return the metadata of the specified distribution. More...
 

Public Types

using distribution_type = typename extractor_traits< Derived >::distribution_type
 
using md_collection_type = std::vector< std::pair< index_type, md_entry_type > >
 
using return_type = std::pair< bool, md_container_type * >
 

Detailed Description

template<typename Derived>
class stapl::metadata::container_extractor_base< Derived >

Class for computing the metadata of static containers that use container_manager_static that inherits from the base-container, and thus, is the base-container itself. This type of container manager has only one component per location.

Template Parameters
DistributionType of the Distribution.
Note
this is different from the static_array_metadata primarily due to the metadata used. This class uses the flat_container whereas the static_array_metadata uses the metadata_container_wrapper.

Member Function Documentation

◆ local_entries()

template<typename Derived>
md_collection_type stapl::metadata::container_extractor_base< Derived >::local_entries ( distribution_type *  dist) const

Create a collection of metadata entries for all of the entries on this location.

Parameters
distThe distribution for the container that the extraction process is for
Returns
A collection of pairs, where the first element is the index of an entry and the second element is the entry itself

◆ operator()() [1/3]

template<typename Derived>
template<typename Container , typename Accessor >
return_type stapl::metadata::container_extractor_base< Derived >::operator() ( proxy< Container, Accessor > *  proxy_cont) const

Return the metadata of a reference to a container.

See also
metadata_entry.
Parameters
contA pointer to the container.

Calls the operator on the distribution of the provided container.

◆ operator()() [2/3]

template<typename Derived>
return_type stapl::metadata::container_extractor_base< Derived >::operator() ( container_type *  cont) const

Return the metadata of the specified container.

See also
metadata_entry.
Parameters
contA pointer to the container.

Calls the operator on the distribution of the provided container.

◆ operator()() [3/3]

template<typename Derived>
return_type stapl::metadata::container_extractor_base< Derived >::operator() ( distribution_type *  dist) const

Return the metadata of the specified distribution.

See also
metadata_entry.
Parameters
distA pointer to the distribution.

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