Defines a multi-dimensional domain where the indexes are consecutive and enumerable in each dimension. More...
Public Member Functions | |
| indexed_domain (size_type size) | |
Constructs a domain [0..size-1]. | |
| indexed_domain (index_type const &first, index_type const &last, bool full_container=false) | |
Construct a domain containing the indexes from first to last (included). More... | |
| indexed_domain (index_type const &first, index_type const &last, indexed_domain const &other) | |
Constructs a new domain by restricting the given other domain to be [first..last]. | |
| index_type | open_last (void) const |
| Returns termination value for comparison. | |
| template<typename Distance > | |
| index_type | advance (index_type const &i, Distance m) const |
Returns the index resulting from advancing the index i, n positions. More... | |
| indexed_domain | operator & (indexed_domain const &other) const |
Returns the resulting intersection with the given other domain. | |
Public Types | |
| using | traversal_type = typename tuple_element< 0, typename compute_type_parameters< tuple< typename default_traversal< N >::type >, OptionalTraversal... >::type >::type |
| using | index_type = typename homogeneous_tuple_type< N, T >::type |
| using | gid_type = typename homogeneous_tuple_type< N, T >::type |
| using | size_type = typename homogeneous_tuple_type< N, size_t >::type |
| using | linear_size_type = size_t |
Defines a multi-dimensional domain where the indexes are consecutive and enumerable in each dimension.
The domain is defined as a range of indexes between first index and last index (included) $ [first..last]$. This defines a convex region in the multi-dimensional space.
| T | Index type. |
T must be and integral type. | stapl::indexed_domain< T, N, OptionalTraversal >::indexed_domain | ( | index_type const & | first, |
| index_type const & | last, | ||
| bool | full_container = false |
||
| ) |
Construct a domain containing the indexes from first to last (included).
If full_container is specified as true, the domain will be flagged as a domain that contains all the indexes of a container.
| index_type stapl::indexed_domain< T, N, OptionalTraversal >::advance | ( | index_type const & | i, |
| Distance | m | ||
| ) | const |
Returns the index resulting from advancing the index i, n positions.
| Distance | Integral type. |
1.8.13