One dimensional read only array view. More...
Public Member Functions | |
array_ro_view (array_ro_view const &other)=default | |
array_ro_view (view_container_type *vcont) | |
Constructs a view that can reference all the elements of the container provided. The view takes ownership of the container. More... | |
array_ro_view (view_container_type *vcont, domain_type const &dom) | |
Constructs a view with a restricted domain of the elements of the container provided. The view takes ownership of the container. More... | |
array_ro_view (view_container_type *vcont, domain_type const &dom, map_func_type mfunc) | |
Constructs a view with a potentially restricted domain of the elements of the container provided and a non-identity mapping function. The view takes ownership of the container. More... | |
array_ro_view (view_container_type const &vcont) | |
Constructs a view that can reference all the elements of the container provided. The view does not take ownership of the container. More... | |
array_ro_view (view_container_type const &vcont, domain_type const &dom) | |
Constructs a view with a restricted domain of the elements of the container provided. The view does not take ownership of the container. More... | |
array_ro_view (view_container_type const &vcont, domain_type const &dom, map_func_type mfunc) | |
Constructs a view with a potentially restricted domain of the elements of the container provided and a non-identity mapping function. The view does not take ownership of the container. More... | |
array_ro_view (view_container_type const &vcont, domain_type const &dom, map_func_type mfunc, array_ro_view const &) | |
Constructs a view with a potentially restricted domain of the elements of the container provided and a non-identity mapping function. The constructor accepts another ArrayRO instance from which it could copy additional state. The view does not take ownership of the container. More... | |
template<typename ... OtherOptionalParams> | |
array_ro_view (array_ro_view< C, OtherOptionalParams... > const &other) | |
Copy constructor when the view provided is not the most derived view. | |
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 |
View Subscript Operations | |
reference_t | operator[] (index_t const &index) const |
The bracket operator is the basic access method. | |
reference_t | make_reference (index_t const &index) const |
Sequence Iterator | |
| |
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 | |
typedef sequence_op_type::iterator | iterator |
typedef sequence_op_type::const_iterator | const_iterator |
typedef C | view_container_type |
typedef view_traits< array_ro_view< C, OptionalParams... > >::domain_type | domain_type |
typedef view_traits< array_ro_view< C, OptionalParams... > >::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 |
using | reference_t = typename view_traits< array_ro_view< C, OptionalParams... > >::reference |
typedef detail::make_iterator< view_traits< array_ro_view< C, OptionalParams... > >::derived_type, 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. | |
One dimensional read only array view.
Provides the operations that are commonly present in an array (random access, iteration). Write operation is not supported.
C | Container type. |
Dom | Domain type. By default uses the same domain type provided for the container. |
MapFunc | Mapping function type. (default: identity mapping function) |
Derived | Type of the most derived class (default: itself) |
stapl::array_ro_view< C, OptionalParams >::array_ro_view | ( | view_container_type * | vcont | ) |
Constructs a view that can reference all the elements of the container provided. The view takes ownership of the container.
vcont | pointer to the container used to forward the operations. |
stapl::array_ro_view< C, OptionalParams >::array_ro_view | ( | view_container_type * | vcont, |
domain_type const & | dom | ||
) |
Constructs a view with a restricted domain of the elements of the container provided. The view takes ownership of the container.
vcont | pointer to the container used to forward the operations. |
dom | domain to be used by the view. |
stapl::array_ro_view< C, OptionalParams >::array_ro_view | ( | view_container_type * | vcont, |
domain_type const & | dom, | ||
map_func_type | mfunc | ||
) |
Constructs a view with a potentially restricted domain of the elements of the container provided and a non-identity mapping function. The view takes ownership of the container.
vcont | pointer to the container used to forward the operations. |
dom | domain to be used by the view. |
mfunc | mapping function to transform view indices to container gids. |
stapl::array_ro_view< C, OptionalParams >::array_ro_view | ( | view_container_type const & | vcont | ) |
Constructs a view that can reference all the elements of the container provided. The view does not take ownership of the container.
vcont | reference to the container used to forward the operations. |
stapl::array_ro_view< C, OptionalParams >::array_ro_view | ( | view_container_type const & | vcont, |
domain_type const & | dom | ||
) |
Constructs a view with a restricted domain of the elements of the container provided. The view does not take ownership of the container.
vcont | reference to the container used to forward the operations. |
dom | domain to be used by the view. |
stapl::array_ro_view< C, OptionalParams >::array_ro_view | ( | view_container_type const & | vcont, |
domain_type const & | dom, | ||
map_func_type | mfunc | ||
) |
Constructs a view with a potentially restricted domain of the elements of the container provided and a non-identity mapping function. The view does not take ownership of the container.
vcont | reference to the container used to forward the operations. |
dom | domain to be used by the view. |
mfunc | mapping function to transform view indices to container gids. |
stapl::array_ro_view< C, OptionalParams >::array_ro_view | ( | view_container_type const & | vcont, |
domain_type const & | dom, | ||
map_func_type | mfunc, | ||
array_ro_view< C, OptionalParams > const & | |||
) |
Constructs a view with a potentially restricted domain of the elements of the container provided and a non-identity mapping function. The constructor accepts another ArrayRO instance from which it could copy additional state. The view does not take ownership of the container.
This constructor is provided to match the interfaces of other view classes. There is no additional state that needs to be copied from the reference view provided.
vcont | reference to the container used to forward the operations. |
dom | domain to be used by the view. |
mfunc | mapping function to transform view indices to container gids. |
|
inherited |
|
inherited |
|
inherited |
Get the element index
from the container.
index | of element to get |
|
inherited |
Get the element index
from the container.
index | of element to get |
|
inherited |
Applies the provided function to the value referenced for the given index and returns the result of the operation.
index | of element to apply the function |
f | function to apply |
|
inherited |
|
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.
|
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.
|
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.