Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator Class Reference

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

#include <Stokhos_ProductBasisUtils.hpp>

Inherits std::iterator< std::input_iterator_tag, multiindex_type >.

Public Types

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

Public Member Functions

 Iterator (ordinal_type max_order_, const multiindex_type &index_)
 Constructor.
 
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.
 
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
 Dimension.
 
Teuchos::Array< ordinal_typeorders
 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.

Definition at line 281 of file Stokhos_ProductBasisUtils.hpp.

Member Typedef Documentation

◆ base_type

template<typename ordinal_t >
typedef std::iterator<std::input_iterator_tag,multiindex_type> Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::base_type

Definition at line 285 of file Stokhos_ProductBasisUtils.hpp.

◆ iterator_category

template<typename ordinal_t >
typedef base_type::iterator_category Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::iterator_category

Definition at line 286 of file Stokhos_ProductBasisUtils.hpp.

◆ value_type

template<typename ordinal_t >
typedef base_type::value_type Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::value_type

Definition at line 287 of file Stokhos_ProductBasisUtils.hpp.

◆ difference_type

template<typename ordinal_t >
typedef base_type::difference_type Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::difference_type

Definition at line 288 of file Stokhos_ProductBasisUtils.hpp.

◆ reference

template<typename ordinal_t >
typedef base_type::reference Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::reference

Definition at line 289 of file Stokhos_ProductBasisUtils.hpp.

◆ pointer

template<typename ordinal_t >
typedef base_type::pointer Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::pointer

Definition at line 290 of file Stokhos_ProductBasisUtils.hpp.

◆ const_reference

template<typename ordinal_t >
typedef const multiindex_type& Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::const_reference

Definition at line 292 of file Stokhos_ProductBasisUtils.hpp.

◆ const_pointer

template<typename ordinal_t >
typedef const multiindex_type* Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::const_pointer

Definition at line 293 of file Stokhos_ProductBasisUtils.hpp.

Constructor & Destructor Documentation

◆ Iterator()

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

Constructor.

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

Definition at line 300 of file Stokhos_ProductBasisUtils.hpp.

Member Function Documentation

◆ operator==()

template<typename ordinal_t >
bool Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::operator== ( const Iterator it) const
inline

Compare equality of iterators.

Definition at line 309 of file Stokhos_ProductBasisUtils.hpp.

◆ operator!=()

template<typename ordinal_t >
bool Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::operator!= ( const Iterator it) const
inline

Compare inequality of iterators.

Definition at line 312 of file Stokhos_ProductBasisUtils.hpp.

◆ operator*()

template<typename ordinal_t >
const_reference Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::operator* ( ) const
inline

Dereference.

Definition at line 315 of file Stokhos_ProductBasisUtils.hpp.

◆ operator->()

template<typename ordinal_t >
const_pointer Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::operator-> ( ) const
inline

Dereference.

Definition at line 318 of file Stokhos_ProductBasisUtils.hpp.

◆ operator++() [1/2]

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<>.

Definition at line 330 of file Stokhos_ProductBasisUtils.hpp.

◆ operator++() [2/2]

template<typename ordinal_t >
Iterator & Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::operator++ ( int  )
inline

Postfix increment, i.e., iterator++.

Definition at line 345 of file Stokhos_ProductBasisUtils.hpp.

Member Data Documentation

◆ max_order

template<typename ordinal_t >
ordinal_type Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::max_order
protected

Maximum order of iterator.

Definition at line 354 of file Stokhos_ProductBasisUtils.hpp.

◆ index

template<typename ordinal_t >
multiindex_type Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::index
protected

Current value of iterator.

Definition at line 357 of file Stokhos_ProductBasisUtils.hpp.

◆ dim

template<typename ordinal_t >
ordinal_type Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::dim
protected

Dimension.

Definition at line 360 of file Stokhos_ProductBasisUtils.hpp.

◆ orders

template<typename ordinal_t >
Teuchos::Array<ordinal_type> Stokhos::TotalOrderIndexSet< ordinal_t >::Iterator::orders
protected

Maximum orders for each term to determine how to increment.

Definition at line 363 of file Stokhos_ProductBasisUtils.hpp.


The documentation for this class was generated from the following file: