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::reverse_tree< PD, Arity, Flows, Span > Struct Template Reference

This class abstracts the semantics of a reverse k-ary tree by exposing only the necessary information in its representation. More...

Public Member Functions

 reverse_tree (PD const &pd)
 
auto get_op (void) const -> decltype(std::declval< base_type >().nested_skeleton().nested_skeleton().get_op())
 
std::size_t operator() (std::size_t a)
 

Public Types

using skeleton_tag_type = tags::reverse_tree< Arity >
 
using base_type = decltype(skeletons::repeat< Flows >(skeletons::elem< Span >(std::declval< PD >()), log_lazysize< Arity >()))
 

Detailed Description

template<typename PD, int Arity, typename Flows, typename Span>
struct stapl::skeletons::skeletons_impl::reverse_tree< PD, Arity, Flows, Span >

This class abstracts the semantics of a reverse k-ary tree by exposing only the necessary information in its representation.

A k-ary reverse tree expands in size by k starting from 1 as the levels are increased.

This skeleton is used in several composed skeletons such as broadcast skeleton.

This abstractions not only makes the reconstruction of a a k-ary skeleton easier, but also reduces the symbol size for a k-ary tree skeleton, hence, reducing the total compilation time.

Template Parameters
PDthe underlying parametric dependency used in each level of the reverse tree.
Aritythe arity of the reverse tree.
Flowsthe flow between the levels of the k-ary reverse tree.
Spanthe iteration space for the elements in each level.

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