investigator Class Reference
[Investigators]

The base class for all graph investigators. More...

#include <investigator.h>

Inheritance diagram for investigator:

managedObject goblinRootObject iGraph iLayeredAuxNetwork iSurfaceGraph

Public Member Functions

virtual unsigned long Size () const =0 throw ()
virtual void Reset ()=0 throw ()
virtual void Reset (TNode v)=0 throw (ERRange)
virtual TArc Read (TNode v)=0 throw (ERRange,ERRejected)
virtual TArc Peek (TNode v)=0 throw (ERRange,ERRejected)
virtual bool Active (TNode v) const =0 throw (ERRange)

Detailed Description

The base class for all graph investigators.


Member Function Documentation

virtual bool Active TNode  v  )  const throw (ERRange) [pure virtual]
 

Check for unvisited arcs in a node incidence list.

Parameters:
v A node index ranged [0,1,..,n-1]
Return values:
true There are unvisited arcs in the incidence list of v

Implemented in iGraph, iLayeredAuxNetwork, and iSurfaceGraph.

virtual TArc Peek TNode  v  )  throw (ERRange,ERRejected) [pure virtual]
 

Return the currently indexed arc in a node incidence list.

Parameters:
v A node index ranged [0,1,..,n-1]
Returns:
An arc index ranged [0,1,..,2*mAct-1]
For the investigator indexed by H, this returns the currently indexed arc in the incidence list of node v. The indexed arc does not change, that is, this arc is visited once more. If all arcs with start node v have been visited, an ERRejected exception is raised.

Implemented in iGraph, iLayeredAuxNetwork, and iSurfaceGraph.

virtual TArc Read TNode  v  )  throw (ERRange,ERRejected) [pure virtual]
 

Read an arc from a node incidence list and mark it as visited.

Parameters:
v A node index ranged [0,1,..,n-1]
Returns:
An arc index ranged [0,1,..,2*mAct-1]
This returns the currently indexed arc a in the incidence list of node v, and then positions the hidden iterator for this incidence list to the arc Right(a,v). If all arcs with start node v have been visited, an ERRejected exception is raised.

Implemented in iGraph, iLayeredAuxNetwork, and iSurfaceGraph.

virtual void Reset TNode  v  )  throw (ERRange) [pure virtual]
 

Reinitialize a particular incidence list.

Parameters:
v A node index ranged [0,1,..,n-1]
Position the iterator for the incidence list of node v to the First(v) arc. Practically, all arcs with start node v are marked unvisited.

Implemented in iGraph, iLayeredAuxNetwork, and iSurfaceGraph.

virtual void Reset  )  throw () [pure virtual]
 

Reinitialize a managed graph search.

This restarts the graph search. That is, the iterators of all incidence lists are positioned the First() arc. Practically, all arcs are marked unvisited.

Implemented in iGraph, iLayeredAuxNetwork, and iSurfaceGraph.

virtual unsigned long Size  )  const throw () [pure virtual]
 

Implements goblinRootObject.

Implemented in iGraph, iLayeredAuxNetwork, and iSurfaceGraph.