Node adjacencies


Enumerations

enum  abstractMixedGraph::TMethAdjacency {
  abstractMixedGraph::ADJ_SEARCH = 0,
  abstractMixedGraph::ADJ_MATRIX = 1
}

Functions

virtual TArc abstractMixedGraph::Adjacency (TNode u, TNode v, TMethAdjacency method=ADJ_MATRIX) const throw (ERRange)
void abstractMixedGraph::MarkAdjacency (TNode u, TNode v, TArc a) throw (ERRange,ERRejected)
void abstractMixedGraph::ReleaseAdjacencies () throw ()

Enumeration Type Documentation

enum TMethAdjacency [inherited]
 

Strategy for the generation of none-node adjacency matrices.

Enumerator:
ADJ_SEARCH  If no adjacency matrix exists, let Adjacency() search the node incidence list.
ADJ_MATRIX  If no adjacency matrix exists, let Adjacency() generate it.


Function Documentation

TArc Adjacency TNode  u,
TNode  v,
TMethAdjacency  method = ADJ_MATRIX
const throw (ERRange) [virtual, inherited]
 

Retrieve an arc connecting two given nodes.

Parameters:
u A node index in the range [0,1..,n-1]
v A node index in the range [0,1..,n-1]
method A TMethAdjacency strategy option
Returns:
The index of any arc connecting u and v, or NoArc
This function logically implements a node-node adjacency matrix. In the default implementation, such a matrix is physically generated or, if ADJ_SEARCH is passed, the incidence list of u is searched.

All implementations prefer non-blocking arcs and, if there is more than one candidate arc even then, return the arc with the least possible index.

void MarkAdjacency TNode  u,
TNode  v,
TArc  a
throw (ERRange,ERRejected) [inherited]
 

Update a node adjacency reference.

Parameters:
u A node index in the range [0,1..,n-1]
v A node index in the range [0,1..,n-1]
a An arc index in the range [0,1..,2*m-1]
Update a potential node-node adjacency matrix which might have been materialized due to previous Adjacency() calls. In particular, set the arc index to be returned for the node pair u,v.

void ReleaseAdjacencies  )  throw () [inherited]
 

Delete the node adjacency references.

Delete a potential node-node adjacency matrix which have been materialized due to previous Adjacency() calls.