Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

idep_CycleIter Class Reference

#include <idep_linkdep.h>

List of all members.

Public Member Functions

 idep_CycleIter (const idep_LinkDep &linkDep)
 ~idep_CycleIter ()
void operator++ ()
 operator const void * () const
int weight () const
int cycle () const

Private Member Functions

 idep_CycleIter (const idep_CycleIter &)
idep_CycleIteroperator= (const idep_CycleIter &)

Private Attributes

idep_CycleIter_id_this

Friends

class idep_MemberIter


Constructor & Destructor Documentation

idep_CycleIter::idep_CycleIter const idep_CycleIter  )  [private]
 

idep_CycleIter::idep_CycleIter const idep_LinkDep linkDep  ) 
 

Definition at line 1228 of file idep_ldep.cxx.

01229 : d_this(new idep_CycleIter_i(*dep.d_this))
01230 {
01231     ++*this;    // set to first cycle
01232 }

idep_CycleIter::~idep_CycleIter  ) 
 

Definition at line 1234 of file idep_ldep.cxx.

01235 {
01236     delete d_this;
01237 }


Member Function Documentation

int idep_CycleIter::cycle  )  const
 

Definition at line 1261 of file idep_ldep.cxx.

References idep_CycleIter_i::d_cycleIndex, and d_this.

Referenced by idep_LinkDep::printCycles().

01262 {
01263     return d_this->d_cycleIndex + 1; // cycle 0 reserved for acyclic components
01264 }

idep_CycleIter::operator const void *  )  const
 

Definition at line 1250 of file idep_ldep.cxx.

References idep_CycleIter_i::d_componentIndex, idep_CycleIter_i::d_dep, idep_LinkDep_i::d_numComponents, and d_this.

01251 {
01252     return d_this->d_componentIndex < d_this->d_dep.d_numComponents ? this : 0;
01253 }

void idep_CycleIter::operator++  ) 
 

Definition at line 1239 of file idep_ldep.cxx.

References idep_CycleIter_i::d_componentIndex, idep_CycleIter_i::d_cycleIndex, idep_LinkDep_i::d_cycleIndices_p, idep_CycleIter_i::d_dep, idep_LinkDep_i::d_map_p, and d_this.

01240 {
01241     assert(*this);
01242     ++d_this->d_cycleIndex;
01243     do {
01244         ++d_this->d_componentIndex;
01245     } 
01246     while (*this && d_this->d_dep.d_cycleIndices_p[d_this->d_dep.d_map_p[
01247                         d_this->d_componentIndex]] != d_this->d_cycleIndex);
01248 }

idep_CycleIter& idep_CycleIter::operator= const idep_CycleIter  )  [private]
 

int idep_CycleIter::weight  )  const
 

Definition at line 1255 of file idep_ldep.cxx.

References idep_CycleIter_i::d_componentIndex, idep_CycleIter_i::d_dep, idep_LinkDep_i::d_map_p, d_this, and idep_LinkDep_i::d_weights_p.

Referenced by idep_LinkDep::printCycles().

01256 {
01257     return d_this->d_dep.d_weights_p[d_this->d_dep.d_map_p[
01258                                 d_this->d_componentIndex]];
01259 }


Friends And Related Function Documentation

friend class idep_MemberIter [friend]
 

Definition at line 266 of file idep_linkdep.h.


Member Data Documentation

idep_CycleIter_i* idep_CycleIter::d_this [private]
 

Definition at line 264 of file idep_linkdep.h.

Referenced by cycle(), operator const void *(), operator++(), and weight().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:09:19 2010 for loon by  doxygen 1.3.9.1