#include <arcane/utils/GraphBaseT.h>
Classes | |
class | IterableEnsembleT |
Types publics | |
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 |
Fonctions membres publiques | |
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) |
Fonctions membres protégées | |
GraphBaseT (ITraceMng *trace_mng) | |
virtual | ~GraphBaseT () |
Attributs protégés | |
ITraceMng * | m_trace_mng |
VertexList | m_vertices |
EdgeList | m_edges |
AdjacencyListType | m_adjacency_list |
AdjacencyListType | m_adjacency_list_transposed |
source_vertex -> target_vertices | |
EdgeToVertexMap | m_edge_to_vertex_map |
target_vertex -> source_vertices | |
Template base class for Graph. VertexType must implement a less comparison operator. To use print, VertexType must implement << operator Multiple Edges between the same Vertices are not allowed
Définition à la ligne 47 du fichier GraphBaseT.h.
typedef std::map<VertexTypeConstRef,std::pair<VertexTypeRefArray,EdgeTypeRefArray> > Arcane::GraphBaseT< VertexType, EdgeType >::AdjacencyListType |
Définition à la ligne 100 du fichier GraphBaseT.h.
typedef IterableEnsembleT<EdgeTypeRefArray> Arcane::GraphBaseT< VertexType, EdgeType >::ConnectedEdgeSet |
Définition à la ligne 106 du fichier GraphBaseT.h.
typedef std::list<EdgeType> Arcane::GraphBaseT< VertexType, EdgeType >::EdgeList |
Définition à la ligne 95 du fichier GraphBaseT.h.
typedef EdgeType Arcane::GraphBaseT< VertexType, EdgeType >::EdgeRef |
Définition à la ligne 111 du fichier GraphBaseT.h.
typedef IterableEnsembleT<EdgeList> Arcane::GraphBaseT< VertexType, EdgeType >::EdgeSet |
Définition à la ligne 105 du fichier GraphBaseT.h.
typedef std::map<EdgeTypeConstRef, VertexPair> Arcane::GraphBaseT< VertexType, EdgeType >::EdgeToVertexMap |
Définition à la ligne 102 du fichier GraphBaseT.h.
typedef std::reference_wrapper<const EdgeType> Arcane::GraphBaseT< VertexType, EdgeType >::EdgeTypeConstRef |
Définition à la ligne 93 du fichier GraphBaseT.h.
typedef SharedArray<EdgeTypeConstRef> Arcane::GraphBaseT< VertexType, EdgeType >::EdgeTypeConstRefArray |
Définition à la ligne 99 du fichier GraphBaseT.h.
typedef std::reference_wrapper<EdgeType> Arcane::GraphBaseT< VertexType, EdgeType >::EdgeTypeRef |
Définition à la ligne 92 du fichier GraphBaseT.h.
typedef SharedArray<EdgeTypeRef> Arcane::GraphBaseT< VertexType, EdgeType >::EdgeTypeRefArray |
Définition à la ligne 98 du fichier GraphBaseT.h.
typedef std::list<VertexType> Arcane::GraphBaseT< VertexType, EdgeType >::VertexList |
Définition à la ligne 94 du fichier GraphBaseT.h.
typedef std::pair<VertexTypeRef,VertexTypeRef> Arcane::GraphBaseT< VertexType, EdgeType >::VertexPair |
Définition à la ligne 101 du fichier GraphBaseT.h.
typedef VertexType Arcane::GraphBaseT< VertexType, EdgeType >::VertexRef |
Définition à la ligne 110 du fichier GraphBaseT.h.
typedef IterableEnsembleT<VertexList> Arcane::GraphBaseT< VertexType, EdgeType >::VertexSet |
Définition à la ligne 104 du fichier GraphBaseT.h.
typedef std::reference_wrapper<const VertexType> Arcane::GraphBaseT< VertexType, EdgeType >::VertexTypeConstRef |
Définition à la ligne 91 du fichier GraphBaseT.h.
typedef SharedArray<VertexTypeConstRef> Arcane::GraphBaseT< VertexType, EdgeType >::VertexTypeConstRefArray |
Définition à la ligne 97 du fichier GraphBaseT.h.
typedef std::reference_wrapper<VertexType> Arcane::GraphBaseT< VertexType, EdgeType >::VertexTypeRef |
Définition à la ligne 90 du fichier GraphBaseT.h.
typedef SharedArray<VertexTypeRef> Arcane::GraphBaseT< VertexType, EdgeType >::VertexTypeRefArray |
Définition à la ligne 96 du fichier GraphBaseT.h.
|
inlineprotected |
Constructeur de la classe
Définition à la ligne 52 du fichier GraphBaseT.h.
|
inlineprotectedvirtual |
Destructeur de la classe
Définition à la ligne 57 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 127 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 161 du fichier GraphBaseT.h.
|
inline |
Les arêtes multiples (constituées des mêmes noeuds source et target) ne sont pas autorisées (throw FatalErrorException)
Définition à la ligne 116 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 121 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 201 du fichier GraphBaseT.h.
|
inline |
Renvoie un pointeur vers l'instance d'EdgeType stockée dans le graphe ou nullptr si non trouvé.
Définition à la ligne 150 du fichier GraphBaseT.h.
|
inline |
Renvoie un pointeur vers l'instance d'EdgeType stockée dans le graphe ou nullptr si non trouvé.
Définition à la ligne 156 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 172 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 179 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 186 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 193 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 203 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 213 du fichier GraphBaseT.h.
|
inline |
Définition à la ligne 200 du fichier GraphBaseT.h.
|
protected |
Définition à la ligne 227 du fichier GraphBaseT.h.
|
protected |
source_vertex -> target_vertices
Définition à la ligne 228 du fichier GraphBaseT.h.
|
protected |
target_vertex -> source_vertices
Définition à la ligne 229 du fichier GraphBaseT.h.
|
protected |
Définition à la ligne 226 du fichier GraphBaseT.h.
|
protected |
Définition à la ligne 224 du fichier GraphBaseT.h.
|
protected |
Définition à la ligne 225 du fichier GraphBaseT.h.