MADNESS 0.10.1
|
#include <indexit.h>
Public Member Functions | |
template<typename V , typename D > | |
NonstandardIndexIterator (const V &limits, const D &order) | |
NonstandardIndexIterator (int ndim, const long limits[], const int order[]) | |
template<typename D > | |
NonstandardIndexIterator (int ndim, long top, const D &order) | |
NonstandardIndexIterator (int ndim, long top, const int order[]) | |
virtual | ~NonstandardIndexIterator () |
virtual IndexIterator & | operator++ () |
increment the dimensions in the order detailed in dim | |
Public Member Functions inherited from madness::IndexIterator | |
template<typename V > | |
IndexIterator (const V &limits) | |
Iterates dimension d from 0 to limts[d]-1 inclusive. | |
IndexIterator (int ndim, const long limits[]) | |
Iterates dimension d from 0 to limts[d]-1 inclusive. | |
IndexIterator (int ndim, long top) | |
Iterates all dimensions from 0 to top-1 inclusive. | |
virtual | ~IndexIterator () |
operator bool () const | |
const std::vector< long > & | operator* () const |
long | operator[] (int d) const |
IndexIterator & | reset () |
Protected Attributes | |
std::vector< int > | dim |
Protected Attributes inherited from madness::IndexIterator | |
bool | finished |
std::vector< long > | i |
Current index. | |
std::vector< long > | n |
User specified upper limits for each dimension. | |
Private Member Functions | |
NonstandardIndexIterator () | |
Bury the default constructor. | |
Additional Inherited Members | |
Static Public Member Functions inherited from madness::IndexIterator | |
static void | test () |
this function should also be deprecated | |
The inherited IndexIterator for iterating over the dimensions in a specified order.
NOTE: if iterating quickly over the high dimensions and slowly over the low dimensions (in dimensional order), use HighDimIndexIterator.
NOTE: if iterating quickly over the low dimensions and slowly over the high dimensions (in dimensional order), use LowDimIndexIterator.
|
inlineprivate |
Bury the default constructor.
|
inline |
Iterates dimension d from 0 to limts[d]-1 inclusive
order[0] is the dimension to be iterated over quickest ... order[d-1] is the dimension to be iterated over slowest
References dim, madness::IndexIterator::i, and MADNESS_ASSERT.
|
inline |
Iterates dimension d from 0 to limts[d]-1 inclusive
order[0] is the dimension to be iterated over quickest ... order[d-1] is the dimension to be iterated over slowest
References dim, madness::IndexIterator::i, and MADNESS_ASSERT.
|
inline |
Iterates all dimensions from 0 to top-1 inclusive
order[0] is the dimension to be iterated over quickest ... order[d-1] is the dimension to be iterated over slowest
References dim, madness::IndexIterator::i, and MADNESS_ASSERT.
|
inline |
Iterates all dimensions from 0 to top-1 inclusive
order[0] is the dimension to be iterated over quickest ... order[d-1] is the dimension to be iterated over slowest
References dim, madness::IndexIterator::i, and MADNESS_ASSERT.
|
inlinevirtual |
|
inlinevirtual |
increment the dimensions in the order detailed in dim
Reimplemented from madness::IndexIterator.
References d, dim, madness::IndexIterator::finished, madness::IndexIterator::i, and madness::IndexIterator::n.
|
protected |
the array storing the dimensional order for iteration dim[0] is the quickest dimension over which to iterate dim[ndim-1] is the slowest dimension
Referenced by NonstandardIndexIterator(), NonstandardIndexIterator(), NonstandardIndexIterator(), NonstandardIndexIterator(), and operator++().