Stokhos Development
Public Types | Public Member Functions | Protected Attributes
Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator Class Reference

Iterator class for iterating over elements of the index set. More...

#include <Stokhos_ProductBasisUtils.hpp>

Collaboration diagram for Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator:
Collaboration graph

List of all members.

Public Types

typedef std::iterator
< std::input_iterator_tag,
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_typeconst_reference
typedef const multiindex_typeconst_pointer

Public Member Functions

 Iterator (ordinal_type max_order_, const multiindex_type &index_)
bool operator== (const Iterator &it) const
 Compare equality of iterators.
bool operator!= (const Iterator &it) const
 Compare inequality of iterators.
const_reference operator* () const
const_pointer operator-> () const
Iteratoroperator++ ()
 Prefix increment, i.e., ++iterator.
Iteratoroperator++ (int)
 Postfix increment, i.e., iterator++.

Protected Attributes

ordinal_type max_order
 Maximum order of iterator.
multiindex_type index
 Current value of iterator.
ordinal_type dim
Teuchos::Array< ordinal_type > orders
 Maximum orders for each term to determine how to increment.

Detailed Description

template<typename ordinal_t>
class Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator

Iterator class for iterating over elements of the index set.

Constructor & Destructor Documentation

template<typename ordinal_t >
Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::Iterator ( ordinal_type  max_order_,
const multiindex_type index_ 
) [inline]


max_order_ is the maximum order of the set (inclusive) and index_ is the starting multi-index.

Member Function Documentation

template<typename ordinal_t >
Iterator& Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::operator++ ( ) [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<>.

The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator