|
Stokhos
Development
|
Iterator class for iterating over elements of the index set. More...
#include <Stokhos_ProductBasisUtils.hpp>


Public Types | |
|
typedef std::iterator < std::input_iterator_tag, multiindex_type > | base_type |
|
typedef base_type::iterator_category | iterator_category |
| typedef base_type::value_type | value_type |
| typedef base_type::difference_type | difference_type |
| typedef base_type::reference | reference |
| typedef base_type::pointer | pointer |
| typedef const multiindex_type & | const_reference |
| typedef const multiindex_type * | const_pointer |
Public Member Functions | |
| Iterator (ordinal_type max_order_, const multiindex_type &component_max_order_, const multiindex_type &index_) | |
| Constructor. More... | |
| bool | operator== (const Iterator &it) const |
| Compare equality of iterators. | |
| bool | operator!= (const Iterator &it) const |
| Compare inequality of iterators. | |
| const_reference | operator* () const |
| Dereference. | |
| const_pointer | operator-> () const |
| Dereference. | |
| Iterator & | operator++ () |
| Prefix increment, i.e., ++iterator. More... | |
| Iterator & | operator++ (int) |
| Postfix increment, i.e., iterator++. | |
Protected Attributes | |
| ordinal_type | max_order |
| Maximum order of iterator. | |
| multiindex_type | component_max_order |
| Maximum order for each component. | |
| multiindex_type | index |
| Current value of iterator. | |
| ordinal_type | dim |
| Dimension. | |
| Teuchos::Array< ordinal_type > | orders |
| Maximum orders for each term to determine how to increment. | |
Iterator class for iterating over elements of the index set.
|
inline |
Constructor.
max_order_ is the maximum order of the set (inclusive) and index_ is the starting multi-index.
References Stokhos::AnisotropicTotalOrderIndexSet< ordinal_t >::Iterator::index, Stokhos::AnisotropicTotalOrderIndexSet< ordinal_t >::Iterator::max_order, and Stokhos::AnisotropicTotalOrderIndexSet< ordinal_t >::Iterator::orders.
|
inline |
Prefix increment, i.e., ++iterator.
No particular ordering of the indices is guaranteed. The current implementation produces multi-indices sorted lexographically backwards among the elements, e.g., [0 0], [1 0], [2 0], ... [0 1], [1 1], [2 1], ... but one shouldn't assume that. To obtain a specific ordering, one should implement a "less" functional and put the indices in a sorted container such as std::map<>.
References Stokhos::AnisotropicTotalOrderIndexSet< ordinal_t >::Iterator::component_max_order, Stokhos::AnisotropicTotalOrderIndexSet< ordinal_t >::Iterator::index, and Stokhos::AnisotropicTotalOrderIndexSet< ordinal_t >::Iterator::orders.
1.8.5