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::scatter< T, Span, Tag > Struct Template Reference

This class abstracts the semantics of a scatter skeleton by exposing only the necessary information in its representation. A scatter skeleton is simply a reverse binary tree with an operation which splits the input into two halves. More...

Public Member Functions

scatter_impl::scatter_op< T > get_op (void) const
 
scatter_impl::scatter_filter< T > get_filter (void) const
 
void set_position (std::size_t, bool is_downedge)
 
template<typename V >
result_type operator() (V &&v) const
 
bool operator== (scatter_filter const &other) const
 

Public Types

using skeleton_tag_type = tags::scatter< Tag >
 
using base_type = decltype(skeletons::reverse_binary_tree< false, Tag, stapl::use_default, Span, false, true >(scatter_impl::scatter_op< T >(), scatter_impl::scatter_filter< T >()))
 
using result_type = std::vector< T >
 

Detailed Description

template<typename T, typename Span, typename Tag>
struct stapl::skeletons::skeletons_impl::scatter< T, Span, Tag >

This class abstracts the semantics of a scatter skeleton by exposing only the necessary information in its representation. A scatter skeleton is simply a reverse binary tree with an operation which splits the input into two halves.

This abstraction not only makes the reconstruction of a scatter skeleton easier, but also provides access to the underlying operation of a broadcast skeleton. Furthermore, it reduces the symbol size for a scatter skeleton, hence, reducing the total compilation time.

Template Parameters
Tthe type of elements to be scattered
Spanthe iteration space for elements to be scattered
Tagdetermines the type of scatter

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