STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::skeletons::skeletons_impl::expand_from_pow_two< Op, Span, pos_aware, Filter, SetResult > Struct Template Reference

This class abstracts the semantics of an expansion skeleton by exposing only the necessary information in its representation. More...

Public Member Functions

 expand_from_pow_two (Op const &op, Filter const &filter)
 
Op get_op (void) const
 
Filter get_filter (void) const
 

Public Types

using skeleton_tag_type = tags::expand_from_pow_two
 
using base_type = decltype(skeletons::elem< Span >(skeletons::expand_from_pow_two_pd< pos_aware, SetResult >(std::declval< Op >(), std::declval< Filter >())))
 

Detailed Description

template<typename Op, typename Span, bool pos_aware, typename Filter, bool SetResult>
struct stapl::skeletons::skeletons_impl::expand_from_pow_two< Op, Span, pos_aware, Filter, SetResult >

This class abstracts the semantics of an expansion skeleton by exposing only the necessary information in its representation.

An expansion skeleton is usually used along with a skeleton (S) that only handle inputs of power-of-two sizes and converts the produced output by skeleton to arbitrary sizes.

This abstraction not only makes the reconstruction of an expansion skeleton easier, but also provides access to the underlying operation and filter used in expanding the output. Furthermore, it reduces the symbol size for an expansion skeleton, hence, reducing the total compilation time.

Template Parameters
Opthe operation to be used while expanding the input.
Spanthe iteration space for elements of the expansion skeleton
pos_awarewhether the computation needs spatial information for its computation or not.
Filterthe filter to be applied to expand the input.

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