Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Friends

LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator Class Reference

#include <zcurvepartition.h>

Inherits LibGeoDecomp::SpaceFillingCurve::Iterator.

Collaboration diagram for LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Iterator (const Coord< DIM > &origin, const Coord< DIM > &dimensions, const unsigned &pos=0)
 Iterator (const Coord< DIM > &origin)
Iteratoroperator++ ()

Static Public Attributes

static const int NUM_QUADRANTS = 1 << DIM

Private Member Functions

void operatorIncTrivial ()
void operatorIncCached ()
void digDown (const int &offset)
void digDownTrivial (const Coord< DIM > &origin, const Coord< DIM > &dimensions, const unsigned &offset)
void digDownCached (const Coord< DIM > &origin, const Coord< DIM > &dimensions, const unsigned &offset)
void digDownRecursion (const unsigned &offset, Square currentSquare)
void digUp ()
void digUpDown ()
bool isCached (const Coord< DIM > &dimensions) const

Private Attributes

std::list< SquaresquareStack
unsigned trivialSquareDirDim
unsigned trivialSquareCounter
Coord< DIMcachedSquareOrigin
Coord< DIM > * cachedSquareCoordsIterator
Coord< DIM > * cachedSquareCoordsEnd

Friends

class ZCurvePartitionTest

template<int DIMENSIONS>
class LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator


Constructor & Destructor Documentation

template<int DIMENSIONS>
LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::Iterator ( const Coord< DIM > &  origin,
const Coord< DIM > &  dimensions,
const unsigned pos = 0 
) [inline]
template<int DIMENSIONS>
LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::Iterator ( const Coord< DIM > &  origin  )  [inline, explicit]

Member Function Documentation

template<int DIMENSIONS>
void LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::digDown ( const int &  offset  )  [inline, private]
template<int DIMENSIONS>
void LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::digDownCached ( const Coord< DIM > &  origin,
const Coord< DIM > &  dimensions,
const unsigned offset 
) [inline, private]
template<int DIMENSIONS>
void LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::digDownRecursion ( const unsigned offset,
Square  currentSquare 
) [inline, private]
template<int DIMENSIONS>
void LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::digDownTrivial ( const Coord< DIM > &  origin,
const Coord< DIM > &  dimensions,
const unsigned offset 
) [inline, private]
template<int DIMENSIONS>
void LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::digUp (  )  [inline, private]
template<int DIMENSIONS>
void LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::digUpDown (  )  [inline, private]
template<int DIMENSIONS>
bool LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::isCached ( const Coord< DIM > &  dimensions  )  const [inline, private]
template<int DIMENSIONS>
Iterator& LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::operator++ (  )  [inline]
template<int DIMENSIONS>
void LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::operatorIncCached (  )  [inline, private]
template<int DIMENSIONS>
void LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::operatorIncTrivial (  )  [inline, private]

Friends And Related Function Documentation

template<int DIMENSIONS>
friend class ZCurvePartitionTest [friend]

Member Data Documentation

template<int DIMENSIONS>
Coord<DIM>* LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::cachedSquareCoordsEnd [private]
template<int DIMENSIONS>
Coord<DIM>* LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::cachedSquareCoordsIterator [private]
template<int DIMENSIONS>
Coord<DIM> LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::cachedSquareOrigin [private]
template<int DIMENSIONS>
const int LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::NUM_QUADRANTS = 1 << DIM [static]
template<int DIMENSIONS>
std::list<Square> LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::squareStack [private]
template<int DIMENSIONS>
unsigned LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::trivialSquareCounter [private]
template<int DIMENSIONS>
unsigned LibGeoDecomp::ZCurvePartition< DIMENSIONS >::Iterator::trivialSquareDirDim [private]

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