Defines a view that provides the interface of a vector abstract data type. (. More...
Public Member Functions | |
| vector_view (view_container_type *vcont, domain_type const &dom, map_func_type mfunc=map_function()) | |
| Constructor used to pass ownership of the container to the view. More... | |
| vector_view (view_container_type const &vcont, domain_type const &dom, map_func_type mfunc=map_function()) | |
| Constructor that does not takes ownership over the passed container. More... | |
| vector_view (view_container_type const &vcont, domain_type const &dom, map_func_type mfunc, vector_view const &) | |
| Constructor that does not takes ownership over the passed container. More... | |
| vector_view (view_container_type *vcont) | |
| Constructs a view that can reference all the elements of the passed container. The view takes ownership of the container. More... | |
| vector_view (view_container_type &vcont) | |
| Constructs a view that can reference all the elements of the passed container. More... | |
| template<typename ... OtherOptionalParams> | |
| vector_view (vector_view< C, OtherOptionalParams... > const &other) | |
| Copy constructor when the passed view is not the most derived view. | |
| void | add (value_type const &val) |
| Insert a new element in the container locally. More... | |
| void | insert (index_type const &index, value_type const &value) |
Inserts the given value at the position index. More... | |
| void | push_back (value_type const &value) |
Inserts the given value an the end of the underlying container. More... | |
| void | pop_back (void) |
| Removes the last element in the underlying container. More... | |
| void | erase (index_type const &index) |
Removes the element at the position index. More... | |
| void | clear (void) |
| Removes all elements from the container. | |
| void | resize (size_type n) |
| Update the underlying container to hold n elements. More... | |
| template<typename DistSpecView > | |
| std::enable_if< is_distribution_view< DistSpecView >::value||detail::has_is_composed_dist_spec< DistSpecView >::value >::type | redistribute (DistSpecView const &dist_view) |
| Update the underlying container to have the distribution specified. More... | |
| void | flush () |
| Flushes pending update information of the underlying container. More... | |
| iterator | find (index_type const &index) |
Returns and iterator pointing to the element at position index. | |
| reference | front (void) |
| Returns a reference to the element at the beginning of the underlying container. | |
| reference | back (void) |
| Returns a reference to the element at the end of the underlying container. | |
| 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... | |
| template<class Functor > | |
| 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... | |
| template<class Functor > | |
| Functor::result_type | apply_get (index_t const &index, Functor f) const |
| Applies the provided function to the value referenced for the given index and returns the result of the operation. More... | |
View Write Operations | |
| void | set_element (index_t const &index, value_t const &value) |
Set the element index in the container to value value. More... | |
| template<class Functor > | |
| void | apply_set (index_t const &index, Functor f) |
| Applies the provided function to the value referenced for the given index and mutates the element with the resulting value. More... | |
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< vector_view< C, OptionalParams... > >::domain_type | domain_type |
| typedef view_traits< vector_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< vector_view< C, OptionalParams... > >::reference |
| typedef detail::make_iterator< view_traits< vector_view< C, OptionalParams... > >::derived_type, iterator > | make_iterator_t |
Public Attributes | |
| C * | m_ptr |
| sptr_type | m_sptr |
Protected Member Functions | |
| void | update_domain (void) |
| Updates the view domain. More... | |
| C * | container_ptr (void) const |
| Returns the container's pointer. | |
Friends | |
| template<class T > | |
| class | vector_distribution |
Defines a view that provides the interface of a vector abstract data type. (.
Specialization ensures container transform for variadic based optionals is used.
Provides the operations that are commonly present in a vector (random access, iteration, insert, push_back, etc.).
| 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::vector_view< C, OptionalParams >::vector_view | ( | view_container_type * | vcont, |
| domain_type const & | dom, | ||
| map_func_type | mfunc = map_function() |
||
| ) |
Constructor used to pass ownership of the container to the view.
| 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::vector_view< C, OptionalParams >::vector_view | ( | view_container_type const & | vcont, |
| domain_type const & | dom, | ||
| map_func_type | mfunc = map_function() |
||
| ) |
Constructor that does not takes ownership over the passed 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::vector_view< C, OptionalParams >::vector_view | ( | view_container_type const & | vcont, |
| domain_type const & | dom, | ||
| map_func_type | mfunc, | ||
| vector_view< C, OptionalParams > const & | |||
| ) |
Constructor that does not takes ownership over the passed 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::vector_view< C, OptionalParams >::vector_view | ( | view_container_type * | vcont | ) |
Constructs a view that can reference all the elements of the passed container. The view takes ownership of the container.
| vcont | Pointer to the container used to forward the operations. |
| stapl::vector_view< C, OptionalParams >::vector_view | ( | view_container_type & | vcont | ) |
Constructs a view that can reference all the elements of the passed container.
| vcont | Reference to the container used to forward the operations. |
| void stapl::vector_view< C, OptionalParams >::add | ( | value_type const & | val | ) |
Insert a new element in the container locally.
| val | The value to insert. |
| void stapl::vector_view< C, OptionalParams >::insert | ( | index_type const & | index, |
| value_type const & | value | ||
| ) |
Inserts the given value at the position index.
The container will update the view's domain by making an async_rmi to update_domain().
| void stapl::vector_view< C, OptionalParams >::push_back | ( | value_type const & | value | ) |
Inserts the given value an the end of the underlying container.
The container will update the view's domain by making an async_rmi to update_domain().
| void stapl::vector_view< C, OptionalParams >::pop_back | ( | void | ) |
Removes the last element in the underlying container.
The container will update the view's domain by making an async_rmi to update_domain().
| void stapl::vector_view< C, OptionalParams >::erase | ( | index_type const & | index | ) |
Removes the element at the position index.
The container will update the view's domain by making an async_rmi to update_domain().
| void stapl::vector_view< C, OptionalParams >::resize | ( | size_type | n | ) |
Update the underlying container to hold n elements.
| n | The new size of the container. |
| std::enable_if< is_distribution_view<DistSpecView>::value || detail::has_is_composed_dist_spec<DistSpecView>::value>::type stapl::vector_view< C, OptionalParams >::redistribute | ( | DistSpecView const & | dist_view | ) |
Update the underlying container to have the distribution specified.
This function is primarily called when container instances in composed container instances are redistributed.
| dist_view | Specification of the desired container distribution, including the distribution of any nested containers in the case of a composed container instance. |
| void stapl::vector_view< C, OptionalParams >::flush | ( | void | ) |
Flushes pending update information of the underlying container.
This is used in conjunction with add() to insert elements into the container without saturating the communication subsystem with metadata update requests.
|
protected |
|
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 |
Set the element index in the container to value value.
| index | Index of element to set. |
| value | New value to set. |
|
inherited |
Applies the provided function to the value referenced for the given index and mutates the element with the resulting value.
| index | of element to apply the function |
| f | function to apply |
|
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.
1.8.13