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

A view that can provide infinite copies of the same element. More...

Public Member Functions

 repeat_view (view_container_type *vcont, domain_type dom=domain_type(), map_func_type mfunc=map_func_type())
 Constructor used to pass ownership of the container to the view. More...
 
 repeat_view (view_container_type const &vcont, domain_type dom, map_func_type mfunc=map_func_type())
 Constructor that does not takes ownership over the passed container. More...
 
 repeat_view (view_container_type const &vcont, domain_type dom, map_func_type mfunc, repeat_view const &)
 Constructor that does not takes ownership over the passed container. More...
 
bool is_valid (void) const
 
view_container_type * get_container (void) const
 
view_container_type & container (void)
 
view_container_type & container (void) const
 
domain_type const & domain (void) const
 
domain_type & domain (void)
 
void set_domain (domain_type const &dom)
 
map_func_type const & mapfunc (void) const
 
size_type size (void) const
 Returns the number of elements referenced for the view.
 
bool empty (void) const
 Returns true if the view does not reference any element.
 
View Read Operations
value_type get_element (index_t const &index) const
 Get the element index from the container. More...
 
future< value_type > get_element_split (index_t const &index) const
 Get the element index from the container. More...
 
Functor::result_type apply_get (index_t const &index, Functor f)
 Applies the provided function to the value referenced for the given index and returns the result of the operation. More...
 
Functor::result_type apply_get (index_t const &index, Functor f) const
 
Sequence Iterator
Warning
Methods in the Sequence Iterator group should only be used inside a work function which is processing a segmented view.
iterator begin (void)
 
const_iterator begin (void) const
 
iterator end (void)
 
const_iterator end (void) const
 
iterator make_iterator (index_t i)
 
index_t next (index_t const &index) const
 Computes the next index based on the given index. More...
 
index_t prev (index_t const &index) const
 Computes the previous index based on the given index. More...
 
index_t advance (index_t const &index, Distance n) const
 Computes the new index after advance n positions from the given index. More...
 
long distance (index_t const &index1, index_t const &index2) const
 
bool less_than (index_t const &index1, index_t const &index2) const
 

Public Types

using dimensions_type = typename dimension_traits< C >::type
 
using dimension_type = dimensions_type
 
using iterator = typename sequence_op_type::iterator
 
using const_iterator = typename sequence_op_type::const_iterator
 
typedef C view_container_type
 
typedef view_traits< repeat_view< C > >::domain_type domain_type
 
typedef view_traits< repeat_view< C > >::map_function map_func_type
 
typedef mf_type_helper::index_type index_type
 
typedef mf_type_helper::gid_type gid_type
 
typedef std::size_t size_type
 
typedef detail::make_iterator< repeat_view< C >, iterator > make_iterator_t
 

Public Attributes

C * m_ptr
 
sptr_type m_sptr
 

Protected Member Functions

C * container_ptr (void) const
 Returns the container's pointer.
 

Detailed Description

template<typename C>
class stapl::repeat_view< C >

A view that can provide infinite copies of the same element.

Template Parameters
TThe type of element to be repeated.

Constructor & Destructor Documentation

◆ repeat_view() [1/3]

template<typename C>
stapl::repeat_view< C >::repeat_view ( view_container_type *  vcont,
domain_type  dom = domain_type(),
map_func_type  mfunc = map_func_type() 
)

Constructor used to pass ownership of the container to the view.

Parameters
vcontpointer to the container used to forward the operations.
domdomain to be used by the view.
mfuncmapping function to transform view indices to container gids.

◆ repeat_view() [2/3]

template<typename C>
stapl::repeat_view< C >::repeat_view ( view_container_type const &  vcont,
domain_type  dom,
map_func_type  mfunc = map_func_type() 
)

Constructor that does not takes ownership over the passed container.

Parameters
vcontreference to the container used to forward the operations.
domdomain to be used by the view.
mfuncmapping function to transform view indices to container gids.

◆ repeat_view() [3/3]

template<typename C>
stapl::repeat_view< C >::repeat_view ( view_container_type const &  vcont,
domain_type  dom,
map_func_type  mfunc,
repeat_view< C > const &   
)

Constructor that does not takes ownership over the passed container.

Parameters
vcontreference to the container used to forward the operations.
domdomain to be used by the view.
mfuncmapping function to transform view indices to container gids.

Member Function Documentation

◆ get_container()

view_container_type* stapl::core_view< C, view_traits< repeat_view< C > >::domain_type , view_traits< repeat_view< C > >::map_function >::get_container ( void  ) const
inherited

◆ container()

view_container_type& stapl::core_view< C, view_traits< repeat_view< C > >::domain_type , view_traits< repeat_view< C > >::map_function >::container ( void  ) const
inherited

◆ get_element()

value_type stapl::view_operations::read< repeat_view< C > >::get_element ( index_t const &  index) const
inherited

Get the element index from the container.

Parameters
indexof element to get

◆ get_element_split()

future<value_type> stapl::view_operations::read< repeat_view< C > >::get_element_split ( index_t const &  index) const
inherited

Get the element index from the container.

Parameters
indexof element to get

◆ apply_get() [1/2]

Functor::result_type stapl::view_operations::read< repeat_view< C > >::apply_get ( index_t const &  index,
Functor  f 
)
inherited

Applies the provided function to the value referenced for the given index and returns the result of the operation.

Parameters
indexof element to apply the function
ffunction to apply
Returns
result of evaluate the function f on the value referenced for the index

◆ apply_get() [2/2]

Functor::result_type stapl::view_operations::read< repeat_view< C > >::apply_get ( index_t const &  index,
Functor  f 
) const
inherited

◆ next()

index_t stapl::view_operations::sequence< repeat_view< C > , detail::view_iterator< repeat_view< C > > >::next ( index_t const &  index) const
inherited

Computes the next index based on the given index.

Overwriting this method allows produce a different way to traverse the elements referenced by the view.

◆ prev()

index_t stapl::view_operations::sequence< repeat_view< C > , detail::view_iterator< repeat_view< C > > >::prev ( index_t const &  index) const
inherited

Computes the previous index based on the given index.

Overwriting this method allows produce a different way to traverse the elements referenced by the view.

◆ advance()

index_t stapl::view_operations::sequence< repeat_view< C > , detail::view_iterator< repeat_view< C > > >::advance ( index_t const &  index,
Distance  n 
) const
inherited

Computes the new index after advance n positions from the given index.

Overwriting this method allows produce a different way to traverse the elements referenced by the view.


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