IBAMR  IBAMR version 0.19.
Public Member Functions | Private Attributes | List of all members
SAMRAI::pdat::SideIterator< DIM > Class Template Reference

#include <SideIterator.h>

Public Member Functions

 SideIterator ()
 
 SideIterator (const hier::Box< DIM > &box, const int axis)
 
 SideIterator (const SideIterator< DIM > &iterator)
 
SideIterator< DIM > & operator= (const SideIterator< DIM > &iterator)
 
 ~SideIterator ()
 
const SideIndex< DIM > & operator* () const
 
const SideIndex< DIM > & operator() () const
 
 operator bool () const
 
 operator const void * () const
 
bool operator! () const
 
void operator++ (int)
 
bool operator== (const SideIterator< DIM > &iterator) const
 
bool operator!= (const SideIterator< DIM > &iterator) const
 

Private Attributes

SideIndex< DIM > d_index
 
hier::Box< DIM > d_box
 

Detailed Description

template<int DIM>
class SAMRAI::pdat::SideIterator< DIM >

Class SideIterator<DIM> is an iterator that provides methods for stepping through the index space associated with a side centered box. The indices are enumerated in column-major (e.g., Fortran) order. The iterator should be used as follows:

hier::Box<DIM> box;
...
for (SideIterator<DIM> c(box, axis); c; c++) {
   // use index c of the box
}

Note that the side iterator may not compile to efficient code, depending on your compiler. Many compilers are not smart enough to optimize the looping constructs and indexing operations.

See also
pdat::SideData
pdat::SideGeometry
pdat::SideIndex

Constructor & Destructor Documentation

◆ SideIterator() [1/3]

template<int DIM>
SAMRAI::pdat::SideIterator< DIM >::SideIterator ( )

Default constructor for the side iterator. The iterator must be initialized before it can be used to iterate over a box.

◆ SideIterator() [2/3]

template<int DIM>
SAMRAI::pdat::SideIterator< DIM >::SideIterator ( const hier::Box< DIM > &  box,
const int  axis 
)

Constructor for the side iterator. The iterator will enumerate the indices in the argument box.

◆ SideIterator() [3/3]

template<int DIM>
SAMRAI::pdat::SideIterator< DIM >::SideIterator ( const SideIterator< DIM > &  iterator)

Copy constructor for the side iterator

◆ ~SideIterator()

template<int DIM>
SAMRAI::pdat::SideIterator< DIM >::~SideIterator ( )

Destructor for the side iterator.

Member Function Documentation

◆ operator=()

template<int DIM>
SideIterator<DIM>& SAMRAI::pdat::SideIterator< DIM >::operator= ( const SideIterator< DIM > &  iterator)

Assignment operator for the side iterator.

◆ operator*()

template<int DIM>
const SideIndex<DIM>& SAMRAI::pdat::SideIterator< DIM >::operator* ( ) const

Extract the side index corresponding to the iterator position in the box.

◆ operator()()

template<int DIM>
const SideIndex<DIM>& SAMRAI::pdat::SideIterator< DIM >::operator() ( ) const

Extract the side index corresponding to the iterator position in the box.

◆ operator bool()

template<int DIM>
SAMRAI::pdat::SideIterator< DIM >::operator bool ( ) const

Return true if the iterator points to a valid index within the box.

◆ operator const void *()

template<int DIM>
SAMRAI::pdat::SideIterator< DIM >::operator const void * ( ) const

Return a non-NULL if the iterator points to a valid index within the box.

◆ operator!()

template<int DIM>
bool SAMRAI::pdat::SideIterator< DIM >::operator! ( ) const

Return whether the iterator points to a valid index within the box. This operator mimics the !p operation applied to a pointer p.

◆ operator++()

template<int DIM>
void SAMRAI::pdat::SideIterator< DIM >::operator++ ( int  )

Increment the iterator to point to the next index in the box.

◆ operator==()

template<int DIM>
bool SAMRAI::pdat::SideIterator< DIM >::operator== ( const SideIterator< DIM > &  iterator) const

Test two iterators for equality (same index value).

◆ operator!=()

template<int DIM>
bool SAMRAI::pdat::SideIterator< DIM >::operator!= ( const SideIterator< DIM > &  iterator) const

Test two iterators for inequality (different index values).

Member Data Documentation

◆ d_index

template<int DIM>
SideIndex<DIM> SAMRAI::pdat::SideIterator< DIM >::d_index
private

◆ d_box

template<int DIM>
hier::Box<DIM> SAMRAI::pdat::SideIterator< DIM >::d_box
private

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