BidirectionalGraph<'TVertex, 'TEdge>
Namespace: QuickGraph
A mutable directed graph data structure efficient for sparse graph representation where out-edge and in-edges need to be enumerated. Requires twice as much memory as the adjacency graph.
Constructors
Constructor | Description |
new()
Signature: unit -> unit
|
|
new(allowParallelEdges)
Signature: allowParallelEdges:bool -> unit
|
|
new(allowParallelEdges, vertexCapacity)
Signature: (allowParallelEdges:bool * vertexCapacity:int) -> unit
|
|
new(...)
Signature: (allowParallelEdges:bool * capacity:int * vertexEdgesDictionaryFactory:Func<int,IVertexEdgeDictionary<'TVertex,'TEdge>>) -> unit
|
|
new(other)
Signature: other:BidirectionalGraph<'TVertex,'TEdge> -> unit
|
Copy constructor that creates sufficiently deep copy of the graph. |
Instance members
Instance member | Description |
AddEdge(e)
Signature: e:'TEdge -> bool
Modifiers: abstract |
|
AddEdgeRange(edges)
Signature: edges:IEnumerable<'TEdge> -> int
Modifiers: abstract |
|
AddVertex(v)
Signature: v:'TVertex -> bool
Modifiers: abstract |
|
AddVertexRange(vertices)
Signature: vertices:IEnumerable<'TVertex> -> int
Modifiers: abstract |
|
AddVerticesAndEdge(e)
Signature: e:'TEdge -> bool
Modifiers: abstract |
|
AddVerticesAndEdgeRange(edges)
Signature: edges:IEnumerable<'TEdge> -> int
Modifiers: abstract |
|
AllowParallelEdges
Signature: bool
Modifiers: abstract |
|
Clear()
Signature: unit -> unit
Modifiers: abstract |
|
ClearEdges(v)
Signature: v:'TVertex -> unit
Modifiers: abstract |
|
ClearInEdges(v)
Signature: v:'TVertex -> unit
Modifiers: abstract |
|
ClearOutEdges(v)
Signature: v:'TVertex -> unit
Modifiers: abstract |
|
Clone()
Signature: unit -> BidirectionalGraph<'TVertex,'TEdge>
|
|
ContainsEdge(source, target)
Signature: (source:'TVertex * target:'TVertex) -> bool
Modifiers: abstract |
|
ContainsEdge(edge)
Signature: edge:'TEdge -> bool
Modifiers: abstract |
|
ContainsVertex(v)
Signature: v:'TVertex -> bool
Modifiers: abstract |
|
Degree(v)
Signature: v:'TVertex -> int
Modifiers: abstract |
|
EdgeAdded
Signature: EdgeAction<'TVertex,'TEdge>
Modifiers: abstract |
|
EdgeCapacity()
Signature: unit -> unit
|
|
EdgeCount
Signature: int
Modifiers: abstract |
|
EdgeRemoved
Signature: EdgeAction<'TVertex,'TEdge>
Modifiers: abstract |
|
Edges
Signature: IEnumerable<'TEdge>
Modifiers: abstract |
|
InDegree(v)
Signature: v:'TVertex -> int
Modifiers: abstract |
|
InEdge(v, index)
Signature: (v:'TVertex * index:int) -> 'TEdge
Modifiers: abstract |
|
InEdges(v)
Signature: v:'TVertex -> IEnumerable<'TEdge>
Modifiers: abstract |
|
IsDirected
Signature: bool
Modifiers: abstract |
|
IsEdgesEmpty
Signature: bool
Modifiers: abstract |
|
IsInEdgesEmpty(v)
Signature: v:'TVertex -> bool
Modifiers: abstract |
|
IsOutEdgesEmpty(v)
Signature: v:'TVertex -> bool
Modifiers: abstract |
|
IsVerticesEmpty
Signature: bool
Modifiers: abstract |
|
MergeVertex(v, edgeFactory)
Signature: (v:'TVertex * edgeFactory:EdgeFactory<'TVertex,'TEdge>) -> unit
|
|
MergeVertexIf(...)
Signature: (vertexPredicate:VertexPredicate<'TVertex> * edgeFactory:EdgeFactory<'TVertex,'TEdge>) -> unit
|
|
OutDegree(v)
Signature: v:'TVertex -> int
Modifiers: abstract |
|
OutEdge(v, index)
Signature: (v:'TVertex * index:int) -> 'TEdge
Modifiers: abstract |
|
OutEdges(v)
Signature: v:'TVertex -> IEnumerable<'TEdge>
Modifiers: abstract |
|
RemoveEdge(e)
Signature: e:'TEdge -> bool
Modifiers: abstract |
|
RemoveEdgeIf(predicate)
Signature: predicate:EdgePredicate<'TVertex,'TEdge> -> int
Modifiers: abstract |
|
RemoveInEdgeIf(v, predicate)
Signature: (v:'TVertex * predicate:EdgePredicate<'TVertex,'TEdge>) -> int
Modifiers: abstract |
|
RemoveOutEdgeIf(v, predicate)
Signature: (v:'TVertex * predicate:EdgePredicate<'TVertex,'TEdge>) -> int
Modifiers: abstract |
|
RemoveVertex(v)
Signature: v:'TVertex -> bool
Modifiers: abstract |
|
RemoveVertexIf(predicate)
Signature: predicate:VertexPredicate<'TVertex> -> int
Modifiers: abstract |
|
TrimEdgeExcess()
Signature: unit -> unit
Modifiers: abstract |
|
TryGetEdge(source, target, edge)
Signature: (source:'TVertex * target:'TVertex * edge:byref<'TEdge>) -> bool
Modifiers: abstract |
|
TryGetEdges(source, target, edges)
Signature: (source:'TVertex * target:'TVertex * edges:byref<IEnumerable<'TEdge>>) -> bool
Modifiers: abstract |
|
TryGetInEdges(v, edges)
Signature: (v:'TVertex * edges:byref<IEnumerable<'TEdge>>) -> bool
Modifiers: abstract |
|
TryGetOutEdges(v, edges)
Signature: (v:'TVertex * edges:byref<IEnumerable<'TEdge>>) -> bool
Modifiers: abstract |
|
VertexAdded
Signature: VertexAction<'TVertex>
Modifiers: abstract |
|
VertexCount
Signature: int
Modifiers: abstract |
|
VertexRemoved
Signature: VertexAction<'TVertex>
Modifiers: abstract |
|
Vertices
Signature: IEnumerable<'TVertex>
Modifiers: abstract |
Static members
Static member | Description |
EdgeType
Signature: Type
|
|
LoadDot(dotSource, vertexFunc, edgeFunc)
Signature: (dotSource:string * vertexFunc:Func<string,IDictionary<string,string>,'TVertex> * edgeFunc:Func<'TVertex,'TVertex,IDictionary<string,string>,'TEdge>) -> BidirectionalGraph<'TVertex,'TEdge>
|