Bpp/Graph
Algorithm
C++
 
 
DESCRIPTION
 

This module provides basic algorithms for graphs.

 
SOURCE FILES
 

This section allows you to access the C++ source files of the module.

 
PARENT MODULE
 

This module is part of Bpp/Graph.

 
INCLUDED FILES
 

The files listed below are included in the interface part of the module. So any module dependent of this module is also dependent of the files listed here.

  • <algorithm>

  • <bpp/graph/structure.hpp>

 
NEEDED FILES
 

The files listed below are needed by the implementation part of the module. But a module dependent of this module is not necessary dependent of the files listed here.

  • <bpp/modules.hpp>

 
INTEGRATED NAMESPACES
 

The namespaces listed below are integrated in this module. That means any element declared in one of those namespaces can now be directly used by or from this module.

  • graphStructure

 
ALIASES
 

The aliases listed below are only used internally by the interface. They are here just to lighten the writing of certain declarations. Never use them, they are local to the interface and can not be used outside of it.

  • tdGraph = class prArcData,class prNodeData

  • tuGraph = prArcData,prNodeData

 
TYPES
 

Here are listed the types defined in the module. To use one of them, you have to specify the namespace of the module.

  • type std_map(tyArcKey,tyInteger) clCocycle
    Cocycle of a graph (association of arc keys with their direction in the cocycle).

  • type std_map(tyArcKey,tyInteger) clCycle
    Cycle of a graph (association of arc keys with their direction in the cycle).

  • type std_vector(clCocycle) clCocycleS
    List of cocycles.

  • type std_vector(clCycle) clCycleS
    List of cycles.

  • enumeration { green, black, blue, red } tyMintyColor
    Symbolic constants for the colors used by a Minty coloration.

 
ERRORS
 

Here are listed the errors that are supported or generated by the module. To use one of them, you do not have to specify the namespace of the module.

  • erGraphNotConnex
    The graph is not connex.

 
FUNCTIONS
 

Here are listed the functions provided by the module. To use one of them, you have to specify the namespace of the module.

 
CLASSES
 

Here are listed the classes provided by the module. To use one of them, you have to specify the namespace of the module.

 
clArcAdmissibility
 
 
Declaration

template <tdGraph> class clArcAdmissibility

 
Description

This class represents arc admissibility. It is used to know if an arc is admissible or not, using it in the direct or indirect direction. This object is given as argument to functions that search nodes in a graph where only admissible arcs are used (in the direction(s) they are admissible for). This class is abstract.

 
Types
  • type clArc<tuGraph> cpArc
    Type of arc this object checks.

 
Methods
 
clDecreaseDegreeNodeOrder
 
 
Declaration

template <tdGraph> class clDecreaseDegreeNodeOrder

 
Description

This class represents an ordering between two nodes, based on their degree. x is before y if its degree is greater than y's one. It is a functor that can be used by STL functions to sort nodes.

 
Types
  • type clNode<tuGraph> cpNode
    Type of node this object compares.

 
Methods
 
clIncreaseDegreeNodeOrder
 
 
Declaration

template <tdGraph> class clIncreaseDegreeNodeOrder

 
Description

This class represents an ordering between two nodes, based on their degree. x is before y if its degree is lower than y's one. It is a functor that can be used by STL functions to sort nodes.

 
Types
  • type clNode<tuGraph> cpNode
    Type of node this object compares.

 
Methods
 
clMintyColor
 
 
Declaration

template <tdGraph> class clMintyColor

 
Description

This class represents a Minty coloration. It is used to define the color wanted for the arcs of a graph. This object is given as argument to the Minty cycle search function. This class is abstract.

 
Types
  • type clArc<tuGraph> cpArc
    Type of arc this object colors.

 
Methods
 
 
Copyright (c) 1999-2016 - Bruno Bachelet - bruno@nawouak.net - http://www.nawouak.net
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. See this license for more details (http://www.gnu.org).