IBAMR  IBAMR version 0.19.
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY > Class Template Reference

#include <IndexData.h>

Inheritance diagram for SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >:
Inheritance graph
[legend]

Public Member Functions

 IndexIterator ()
 
 IndexIterator (const IndexData< DIM, TYPE, BOX_GEOMETRY > &data)
 
 IndexIterator (const IndexIterator< DIM, TYPE, BOX_GEOMETRY > &iterator)
 
IndexIterator< DIM, TYPE, BOX_GEOMETRY > & operator= (const IndexIterator< DIM, TYPE, BOX_GEOMETRY > &iterator)
 
 ~IndexIterator ()
 
TYPE & operator* ()
 
const TYPE & operator* () const
 
TYPE & operator() ()
 
const TYPE & operator() () const
 
TYPE & getItem ()
 
const hier::Index< DIM > & getIndex () const
 
 operator bool () const
 
 operator const void * () const
 
bool operator! () const
 
void operator++ (int)
 
void operator-- (int)
 
bool operator== (const IndexIterator< DIM, TYPE, BOX_GEOMETRY > &iterator) const
 
bool operator!= (const IndexIterator< DIM, TYPE, BOX_GEOMETRY > &iterator) const
 
void rewindIterator ()
 
void fastforwardIterator ()
 

Private Member Functions

 IndexIterator (IndexData< DIM, TYPE, BOX_GEOMETRY > *index_data, IndexDataNode< DIM, TYPE, BOX_GEOMETRY > *node)
 
IndexDataNode< DIM, TYPE, BOX_GEOMETRY > & getNode ()
 

Private Attributes

IndexData< DIM, TYPE, BOX_GEOMETRY > * d_index_data
 
IndexDataNode< DIM, TYPE, BOX_GEOMETRY > * d_node
 

Friends

class ConstIndexIterator< DIM, TYPE, BOX_GEOMETRY >
 
class IndexData< DIM, TYPE, BOX_GEOMETRY >
 

Detailed Description

template<int DIM, class TYPE, class BOX_GEOMETRY>
class SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >

Class IndexIterator is the iterator associated with the IndexData This class provides methods for stepping through the list that contains the irregular index set. The user should access this class through the name IndexData<DIM,TYPE>::Iterator.

This iterator should be used as follows:

IndexData<DIM,TYPE> data;
...
for (IndexData<DIM,TYPE>::Iterator iter(data); iter; iter++ {
   ... = iter();
}
See also
tbox::List
pdat::IndexData
pdat::IndexIterator

Constructor & Destructor Documentation

◆ IndexIterator() [1/4]

template<int DIM, class TYPE , class BOX_GEOMETRY >
SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::IndexIterator ( )

Default constructor for the index list iterator. The iterator must be initialized before it can be used to iterate over an IndexData object.

◆ IndexIterator() [2/4]

template<int DIM, class TYPE , class BOX_GEOMETRY >
SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::IndexIterator ( const IndexData< DIM, TYPE, BOX_GEOMETRY > &  data)

Constructor for the index list iterator. The iterator will iterate over the irregular index set of the argument data object.

◆ IndexIterator() [3/4]

template<int DIM, class TYPE , class BOX_GEOMETRY >
SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::IndexIterator ( const IndexIterator< DIM, TYPE, BOX_GEOMETRY > &  iterator)

Copy constructor for the index list iterator.

◆ ~IndexIterator()

template<int DIM, class TYPE , class BOX_GEOMETRY >
SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::~IndexIterator ( )

Destructor for the index list iterator.

◆ IndexIterator() [4/4]

template<int DIM, class TYPE , class BOX_GEOMETRY >
SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::IndexIterator ( IndexData< DIM, TYPE, BOX_GEOMETRY > *  index_data,
IndexDataNode< DIM, TYPE, BOX_GEOMETRY > *  node 
)
private

Member Function Documentation

◆ operator=()

template<int DIM, class TYPE , class BOX_GEOMETRY >
IndexIterator<DIM,TYPE,BOX_GEOMETRY>& SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator= ( const IndexIterator< DIM, TYPE, BOX_GEOMETRY > &  iterator)

Assignment operator for the index list iterator.

◆ operator*() [1/2]

template<int DIM, class TYPE , class BOX_GEOMETRY >
TYPE& SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator* ( )

Return the current item in the irregular index set.

◆ operator*() [2/2]

template<int DIM, class TYPE , class BOX_GEOMETRY >
const TYPE& SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator* ( ) const

Return a const reference to the current item in the irregular index set.

◆ operator()() [1/2]

template<int DIM, class TYPE , class BOX_GEOMETRY >
TYPE& SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator() ( )

Return the current item in the irregular index set.

◆ operator()() [2/2]

template<int DIM, class TYPE , class BOX_GEOMETRY >
const TYPE& SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator() ( ) const

Return a const refeferene to the current item in the irregular index set.

◆ getItem()

template<int DIM, class TYPE , class BOX_GEOMETRY >
TYPE& SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::getItem ( )

Return the current item in the irregular index set.

◆ getIndex()

template<int DIM, class TYPE , class BOX_GEOMETRY >
const hier::Index<DIM>& SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::getIndex ( ) const

Return the index of the current item in the irregular index set

◆ operator bool()

template<int DIM, class TYPE , class BOX_GEOMETRY >
SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator bool ( ) const

Return true if the iterator points to a valid item in the index set.

◆ operator const void *()

template<int DIM, class TYPE , class BOX_GEOMETRY >
SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator const void * ( ) const

Return a non-null if the iterator points to a valid item in the index set.

◆ operator!()

template<int DIM, class TYPE , class BOX_GEOMETRY >
bool SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator! ( ) const

Return whether the iterator points to a valid item in the index set. This operator mimics the !p operation applied to a pointer p.

◆ operator++()

template<int DIM, class TYPE , class BOX_GEOMETRY >
void SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator++ ( int  )

Increment the iterator to point to the next item in the index set.

◆ operator--()

template<int DIM, class TYPE , class BOX_GEOMETRY >
void SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator-- ( int  )

Decrement the iterator to point to the previous item in the index set.

◆ operator==()

template<int DIM, class TYPE , class BOX_GEOMETRY >
bool SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator== ( const IndexIterator< DIM, TYPE, BOX_GEOMETRY > &  iterator) const

Test two iterators for equality (pointing to the same item).

◆ operator!=()

template<int DIM, class TYPE , class BOX_GEOMETRY >
bool SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::operator!= ( const IndexIterator< DIM, TYPE, BOX_GEOMETRY > &  iterator) const

Test two iterators for inequality (pointing to different items).

◆ rewindIterator()

template<int DIM, class TYPE , class BOX_GEOMETRY >
void SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::rewindIterator ( )

◆ fastforwardIterator()

template<int DIM, class TYPE , class BOX_GEOMETRY >
void SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::fastforwardIterator ( )

◆ getNode()

template<int DIM, class TYPE , class BOX_GEOMETRY >
IndexDataNode<DIM,TYPE,BOX_GEOMETRY>& SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::getNode ( )
private

Friends And Related Function Documentation

◆ ConstIndexIterator< DIM, TYPE, BOX_GEOMETRY >

template<int DIM, class TYPE , class BOX_GEOMETRY >
friend class ConstIndexIterator< DIM, TYPE, BOX_GEOMETRY >
friend

◆ IndexData< DIM, TYPE, BOX_GEOMETRY >

template<int DIM, class TYPE , class BOX_GEOMETRY >
friend class IndexData< DIM, TYPE, BOX_GEOMETRY >
friend

Member Data Documentation

◆ d_index_data

template<int DIM, class TYPE , class BOX_GEOMETRY >
IndexData<DIM,TYPE,BOX_GEOMETRY>* SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::d_index_data
private

◆ d_node

template<int DIM, class TYPE , class BOX_GEOMETRY >
IndexDataNode<DIM,TYPE,BOX_GEOMETRY>* SAMRAI::pdat::IndexIterator< DIM, TYPE, BOX_GEOMETRY >::d_node
private

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