|
typedef GraphBaseT< VertexType, EdgeType > | Base |
|
typedef SortedElementSet< typename Base::EdgeTypeRefArray > | SortedEdgeSet |
|
typedef SortedElementSet< typename Base::VertexTypeRefArray > | SortedVertexSet |
|
typedef std::map< typename Base::VertexTypeConstRef, Integer > | VertexLevelMap |
|
typedef std::map< typename Base::EdgeTypeConstRef, Integer > | EdgeLevelMap |
|
typedef std::set< std::pair< VertexType, Integer >, std::function< bool(std::pair< VertexType, Integer >, std::pair< VertexType, Integer >)> > | VertexLevelSet |
|
typedef std::reference_wrapper< VertexType > | VertexTypeRef |
|
typedef std::reference_wrapper< const VertexType > | VertexTypeConstRef |
|
typedef std::reference_wrapper< EdgeType > | EdgeTypeRef |
|
typedef std::reference_wrapper< const EdgeType > | EdgeTypeConstRef |
|
typedef std::list< VertexType > | VertexList |
|
typedef std::list< EdgeType > | EdgeList |
|
typedef SharedArray< VertexTypeRef > | VertexTypeRefArray |
|
typedef SharedArray< VertexTypeConstRef > | VertexTypeConstRefArray |
|
typedef SharedArray< EdgeTypeRef > | EdgeTypeRefArray |
|
typedef SharedArray< EdgeTypeConstRef > | EdgeTypeConstRefArray |
|
typedef std::map< VertexTypeConstRef, std::pair< VertexTypeRefArray, EdgeTypeRefArray > > | AdjacencyListType |
|
typedef std::pair< VertexTypeRef, VertexTypeRef > | VertexPair |
|
typedef std::map< EdgeTypeConstRef, VertexPair > | EdgeToVertexMap |
|
typedef IterableEnsembleT< VertexList > | VertexSet |
|
typedef IterableEnsembleT< EdgeList > | EdgeSet |
|
typedef IterableEnsembleT< EdgeTypeRefArray > | ConnectedEdgeSet |
|
typedef VertexType | VertexRef |
|
typedef EdgeType | EdgeRef |
|
|
| DirectedAcyclicGraphT (ITraceMng *trace_mng) |
|
virtual | ~DirectedAcyclicGraphT () |
|
void | addEdge (const VertexType &source_vertex, const VertexType &target_vertex, const EdgeType &source_to_target_edge) |
|
void | addEdge (VertexType &&source_vertex, VertexType &&target_vertex, EdgeType &&source_to_target_edge) |
|
SortedVertexSet | topologicalSort () |
|
SortedEdgeSet | spanningTree () |
|
void | print () |
|
bool | hasCycle () |
|
void | addEdge (const VertexType &source_vertex, const VertexType &target_vertex, const EdgeType &source_to_target_edge) |
| Les arêtes multiples (constituées des mêmes noeuds source et target) ne sont pas autorisées (throw FatalErrorException)
|
|
void | addEdge (VertexType &&source_vertex, VertexType &&target_vertex, EdgeType &&source_to_target_edge) |
|
template<class Vertex , class Edge > |
void | _addEdge (Vertex source_vertex, Vertex target_vertex, Edge source_to_target_edge) |
|
EdgeType * | getEdge (const VertexType &source_vertex, const VertexType &target_vertex) |
| Renvoie un pointeur vers l'instance d'EdgeType stockée dans le graphe ou nullptr si non trouvé.
|
|
const EdgeType * | getEdge (const VertexType &source_vertex, const VertexType &target_vertex) const |
| Renvoie un pointeur vers l'instance d'EdgeType stockée dans le graphe ou nullptr si non trouvé.
|
|
EdgeType * | _getEdge (const VertexType &source_vertex, const VertexType &target_vertex) |
|
VertexType * | getSourceVertex (const EdgeType &edge) |
|
const VertexType * | getSourceVertex (const EdgeType &edge) const |
|
VertexType * | getTargetVertex (const EdgeType &edge) |
|
const VertexType * | getTargetVertex (const EdgeType &edge) const |
|
VertexSet | vertices () |
|
EdgeSet | edges () |
|
ConnectedEdgeSet | inEdges (const VertexType &vertex) |
|
ConnectedEdgeSet | outEdges (const VertexType &vertex) |
|
Template class for DirectedAcyclicGraph. VertexType must implement a less comparison operator.
Définition à la ligne 38 du fichier DirectedAcyclicGraphT.h.