DomainBlockIterator< Dom > Class Template Reference

A simple iterator class to iterate through all of the points in a given domain of type Dom. More...

#include <DomainBlockIterator.h>

List of all members.

Public Types

enum  { dimensions = DomainTraits<Dom>::dimensions }
typedef DomainBlockIterator< Dom > This_t
typedef Dom Domain_t
typedef Domain_t::OneDomain_t OneDomain_t
typedef Domain_t::AskDomain_t Value_t
typedef Domain_t::BlockDomain_t Block_t
typedef Block_t::OneDomain_t OneBlock_t
typedef OneDomain_t::iterator iterator
typedef Domain_t::Element_t Element_t

Public Member Functions

 DomainBlockIterator ()
 DomainBlockIterator (const Dom &d)
 The main DomainBlockIterator stores the given domain, and sets all its 1D iterators to the start.
 DomainBlockIterator (const This_t &model)
 ~DomainBlockIterator ()
const Block_toperator* () const
const Block_toperator-> () const
const Value_tpoint () const
int index () const
bool operator== (const This_t &rhs) const
bool operator!= (const This_t &rhs) const
bool done () const
This_toperator= (const This_t &model)
This_toperator++ ()
This_t operator++ (int)


Detailed Description

template<class Dom>
class DomainBlockIterator< Dom >

A simple iterator class to iterate through all of the points in a given domain of type Dom.

This iterator returns Interval or Region objects that define the blocks formed as the "cells" between the "vertices" that are the domain points.

Dereferencing a DomainBlockIterator returns an Interval or Region with the current cell. You can also call the following methods on a DomainBlockIterator:

Loc<Dim> point() - returns the block-index of the current block. This is a Loc<Dim> from 0 ... # blocks in each dimension.

int index() - returns an index for the current cell. The index values start at zero and increment by one each time you move to a new cell.

bool done() - returns true if the iterator is done, that is, if it at the end and would compare equal to an "end" iterator.

This is an input-iterator, in the STL sense. It only defines deref, ->, and ++ operators.


Member Typedef Documentation

template<class Dom >
typedef DomainBlockIterator<Dom> DomainBlockIterator< Dom >::This_t

template<class Dom >
typedef Dom DomainBlockIterator< Dom >::Domain_t

template<class Dom >
typedef Domain_t::OneDomain_t DomainBlockIterator< Dom >::OneDomain_t

template<class Dom >
typedef Domain_t::AskDomain_t DomainBlockIterator< Dom >::Value_t

template<class Dom >
typedef Domain_t::BlockDomain_t DomainBlockIterator< Dom >::Block_t

template<class Dom >
typedef Block_t::OneDomain_t DomainBlockIterator< Dom >::OneBlock_t

template<class Dom >
typedef OneDomain_t::iterator DomainBlockIterator< Dom >::iterator

template<class Dom >
typedef Domain_t::Element_t DomainBlockIterator< Dom >::Element_t


Member Enumeration Documentation

template<class Dom >
anonymous enum

Enumerator:
dimensions 


Constructor & Destructor Documentation

template<class Dom >
DomainBlockIterator< Dom >::DomainBlockIterator (  )  [inline]

template<class Dom >
DomainBlockIterator< Dom >::DomainBlockIterator ( const Dom &  d  )  [inline]

The main DomainBlockIterator stores the given domain, and sets all its 1D iterators to the start.

This constructor sets up a "begin" iterator.

References DomainBlockIterator< Dom >::dimensions.

template<class Dom >
DomainBlockIterator< Dom >::DomainBlockIterator ( const This_t model  )  [inline]

template<class Dom >
DomainBlockIterator< Dom >::~DomainBlockIterator (  )  [inline]


Member Function Documentation

template<class Dom >
const Block_t& DomainBlockIterator< Dom >::operator* (  )  const [inline]

template<class Dom >
const Block_t* DomainBlockIterator< Dom >::operator-> (  )  const [inline]

template<class Dom >
const Value_t& DomainBlockIterator< Dom >::point (  )  const [inline]

template<class Dom >
int DomainBlockIterator< Dom >::index (  )  const [inline]

template<class Dom >
bool DomainBlockIterator< Dom >::operator== ( const This_t rhs  )  const [inline]

template<class Dom >
bool DomainBlockIterator< Dom >::operator!= ( const This_t rhs  )  const [inline]

template<class Dom >
bool DomainBlockIterator< Dom >::done (  )  const [inline]

template<class Dom >
This_t& DomainBlockIterator< Dom >::operator= ( const This_t model  )  [inline]

template<class Dom >
This_t& DomainBlockIterator< Dom >::operator++ (  )  [inline]

template<class Dom >
This_t DomainBlockIterator< Dom >::operator++ ( int   )  [inline]


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

Generated on Wed Mar 16 06:19:50 2011 for FreePOOMA by  doxygen 1.5.9