Property | Type | Description | |
---|---|---|---|
AddEdgeInternal | bool | ||
Clone | TEdge>.BidirectionalGraph | ||
ICloneable | object | ||
NotifyEdgesRemoved | void | ||
NotifyVerticesRemoved | void | ||
RemoveEdgesInternal | int | ||
RemoveInOutEdges | IEnumerable |
Method | Description | |
---|---|---|
AddEdge ( edge ) : bool | ||
AddEdgeRange ( IEnumerable edges ) : int | ||
AddVertex ( vertex ) : bool | ||
AddVertexRange ( IEnumerable vertices ) : int | ||
AddVerticesAndEdge ( edge ) : bool | ||
AddVerticesAndEdgeRange ( IEnumerable edges ) : int | ||
BidirectionalGraph ( ) : System |
Initializes a new instance of the BidirectionalGraph{TVertex,TEdge} class.
|
|
BidirectionalGraph ( BidirectionalGraph other ) : System |
Copy constructor that creates sufficiently deep copy of the graph.
|
|
BidirectionalGraph ( bool allowParallelEdges ) : System |
Initializes a new instance of the BidirectionalGraph{TVertex,TEdge} class.
|
|
BidirectionalGraph ( bool allowParallelEdges, int capacity ) : System |
Initializes a new instance of the BidirectionalGraph{TVertex,TEdge} class.
|
|
BidirectionalGraph ( bool allowParallelEdges, int vertexCapacity, int edgeCapacity ) : System |
Initializes a new instance of the BidirectionalGraph{TVertex,TEdge} class.
|
|
Clear ( ) : void | ||
ClearEdges ( vertex ) : void | ||
ClearInEdges ( vertex ) : void | ||
ClearOutEdges ( vertex ) : void | ||
ContainsEdge ( edge ) : bool | ||
ContainsEdge ( source, target ) : bool | ||
ContainsVertex ( vertex ) : bool | ||
Degree ( vertex ) : int | ||
InDegree ( vertex ) : int | ||
InEdge ( vertex, int index ) : TEdge | ||
InEdges ( vertex ) : IEnumerable |
||
IsInEdgesEmpty ( vertex ) : bool | ||
IsOutEdgesEmpty ( vertex ) : bool | ||
MergeVertex ( vertex, EdgeFactory edgeFactory ) : void |
Removes the given vertex and merges all its connection to other vertices.
|
|
MergeVerticesIf ( VertexPredicate vertexPredicate, EdgeFactory edgeFactory ) : void |
Removes vertices matching the given vertexPredicate and merges all their connections to other vertices.
|
|
OutDegree ( vertex ) : int | ||
OutEdge ( vertex, int index ) : TEdge | ||
OutEdges ( vertex ) : IEnumerable |
||
RemoveEdge ( edge ) : bool | ||
RemoveEdgeIf ( EdgePredicate predicate ) : int | ||
RemoveInEdgeIf ( vertex, EdgePredicate predicate ) : int | ||
RemoveOutEdgeIf ( vertex, EdgePredicate predicate ) : int | ||
RemoveVertex ( vertex ) : bool | ||
RemoveVertexIf ( VertexPredicate predicate ) : int | ||
TrimEdgeExcess ( ) : void | ||
TryGetEdge ( source, target, &edge ) : bool | ||
TryGetEdges ( source, target, IEnumerable &edges ) : bool | ||
TryGetInEdges ( vertex, IEnumerable &edges ) : bool | ||
TryGetOutEdges ( vertex, IEnumerable &edges ) : bool |
Method | Description | |
---|---|---|
OnEdgeAdded ( edge ) : void |
Called on each added edge.
|
|
OnEdgeRemoved ( edge ) : void |
Called on each removed edge.
|
|
OnVertexAdded ( vertex ) : void |
Called on each added vertex.
|
|
OnVertexRemoved ( vertex ) : void |
Called for each removed vertex.
|
Method | Description | |
---|---|---|
AddEdgeInternal ( edge ) : bool | ||
Clone ( ) : TEdge>.BidirectionalGraph |
||
ICloneable ( ) : object | ||
NotifyEdgesRemoved ( IEnumerable edges ) : void | ||
NotifyVerticesRemoved ( ICollection vertices ) : void | ||
RemoveEdgesInternal ( ICollection edgesToRemove ) : int | ||
RemoveInOutEdges ( vertex ) : IEnumerable |
public AddEdgeRange ( IEnumerable edges ) : int | ||
edges | IEnumerable | |
return | int |
public AddVertexRange ( IEnumerable vertices ) : int | ||
vertices | IEnumerable | |
return | int |
public AddVerticesAndEdgeRange ( IEnumerable edges ) : int | ||
edges | IEnumerable | |
return | int |
public BidirectionalGraph ( BidirectionalGraph other ) : System | ||
other | BidirectionalGraph | Graph to copy. |
return | System |
public BidirectionalGraph ( bool allowParallelEdges ) : System | ||
allowParallelEdges | bool | Indicates if parallel edges are allowed. |
return | System |
public BidirectionalGraph ( bool allowParallelEdges, int capacity ) : System | ||
allowParallelEdges | bool | Indicates if parallel edges are allowed. |
capacity | int | Vertex capacity. |
return | System |
public BidirectionalGraph ( bool allowParallelEdges, int vertexCapacity, int edgeCapacity ) : System | ||
allowParallelEdges | bool | Indicates if parallel edges are allowed. |
vertexCapacity | int | Vertex capacity. |
edgeCapacity | int | Edge capacity. |
return | System |
public MergeVertex ( vertex, EdgeFactory edgeFactory ) : void | ||
vertex | The vertex. | |
edgeFactory | EdgeFactory | Factory method to create an edge. |
return | void |
public MergeVerticesIf ( VertexPredicate vertexPredicate, EdgeFactory edgeFactory ) : void | ||
vertexPredicate | VertexPredicate | Predicate to match vertices. |
edgeFactory | EdgeFactory | Factory method to create an edge. |
return | void |
protected OnEdgeRemoved ( edge ) : void | ||
edge | Removed edge. | |
return | void |
protected OnVertexAdded ( vertex ) : void | ||
vertex | Added vertex. | |
return | void |
protected OnVertexRemoved ( vertex ) : void | ||
vertex | Removed vertex. | |
return | void |
public RemoveEdgeIf ( EdgePredicate predicate ) : int | ||
predicate | EdgePredicate | |
return | int |
public RemoveInEdgeIf ( vertex, EdgePredicate predicate ) : int | ||
predicate | EdgePredicate | |
return | int |
public RemoveOutEdgeIf ( vertex, EdgePredicate predicate ) : int | ||
predicate | EdgePredicate | |
return | int |
public RemoveVertexIf ( VertexPredicate predicate ) : int | ||
predicate | VertexPredicate | |
return | int |
public TryGetEdges ( source, target, IEnumerable &edges ) : bool | ||
edges | IEnumerable | |
return | bool |
public TryGetInEdges ( vertex, IEnumerable &edges ) : bool | ||
edges | IEnumerable | |
return | bool |
public TryGetOutEdges ( vertex, IEnumerable &edges ) : bool | ||
edges | IEnumerable | |
return | bool |