QuickGraph


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

ConstructorDescription
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 memberDescription
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 memberDescription
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>
Fork me on GitHub