Satsuma
a delicious .NET graph library
|
Interface to a read-only graph. More...
Public Member Functions | |
int | ArcCount (ArcFilter filter=ArcFilter.All) |
Returns the total number of arcs satisfying a given filter. More... | |
int | ArcCount (Node u, ArcFilter filter=ArcFilter.All) |
Returns the number of arcs adjacent to a specific node satisfying a given filter. More... | |
int | ArcCount (Node u, Node v, ArcFilter filter=ArcFilter.All) |
Returns the number of arcs adjacent to two nodes satisfying a given filter. More... | |
IEnumerable< Arc > | Arcs (ArcFilter filter=ArcFilter.All) |
IEnumerable< Arc > | Arcs (Node u, ArcFilter filter=ArcFilter.All) |
IEnumerable< Arc > | Arcs (Node u, Node v, ArcFilter filter=ArcFilter.All) |
bool | HasArc (Arc arc) |
Returns whether the given arc is contained in the graph. More... | |
bool | HasNode (Node node) |
Returns whether the given node is contained in the graph. More... | |
bool | IsEdge (Arc arc) |
Returns whether the arc is undirected (true ) or directed (false ). More... | |
int | NodeCount () |
Returns the total number of nodes in O(1) time. More... | |
IEnumerable< Node > | Nodes () |
Returns all nodes of the graph. More... | |
Node | U (Arc arc) |
Returns the first node of an arc. Directed arcs point from U to V. More... | |
Node | V (Arc arc) |
Returns the second node of an arc. Directed arcs point from U to V. More... | |
int Satsuma.IGraph.ArcCount | ( | ArcFilter | filter = ArcFilter.All | ) |
Returns the total number of arcs satisfying a given filter.
filter | Detailed description: see Arcs(ArcFilter). |
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.CompleteGraph, Satsuma.Subgraph, Satsuma.ContractedGraph, Satsuma.Matching, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
Returns the number of arcs adjacent to a specific node satisfying a given filter.
filter | Detailed description: see Arcs(Node, ArcFilter). |
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.Subgraph, Satsuma.CompleteGraph, Satsuma.ContractedGraph, Satsuma.Matching, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
Returns the number of arcs adjacent to two nodes satisfying a given filter.
filter | Detailed description: see Arcs(Node, Node, ArcFilter). |
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.CompleteGraph, Satsuma.Subgraph, Satsuma.Matching, Satsuma.ContractedGraph, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
Returns all arcs of the graph satisfying a given filter.
filter | Cannot be ArcType.Forward/ArcType.Backward.
|
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.Subgraph, Satsuma.CompleteGraph, Satsuma.ContractedGraph, Satsuma.Matching, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
Returns all arcs adjacent to a specific node satisfying a given filter.
filter |
|
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.Subgraph, Satsuma.CompleteGraph, Satsuma.Matching, Satsuma.ContractedGraph, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
Returns all arcs adjacent to two nodes satisfying a given filter.
filter |
|
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.Subgraph, Satsuma.CompleteGraph, Satsuma.ContractedGraph, Satsuma.Matching, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
bool Satsuma.IGraph.HasArc | ( | Arc | arc | ) |
Returns whether the given arc is contained in the graph.
Must return the same value as Arcs().Contains
in all implementations, but faster if possible.
true
may be returned for arcs coming from another graph as well, if those arcs encapsulate an identifier which is valid for this graph, too. Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.CompleteGraph, Satsuma.Subgraph, Satsuma.Matching, Satsuma.ContractedGraph, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
bool Satsuma.IGraph.HasNode | ( | Node | node | ) |
Returns whether the given node is contained in the graph.
Must return the same value as Nodes().Contains
in all implementations, but faster if possible.
true
may be returned for nodes coming from another graph as well, if those nodes encapsulate an identifier which is valid for this graph, too. Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.CompleteGraph, Satsuma.Subgraph, Satsuma.Matching, Satsuma.ContractedGraph, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
|
inherited |
Returns whether the arc is undirected (true
) or directed (false
).
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.Subgraph, Satsuma.CompleteGraph, Satsuma.ContractedGraph, Satsuma.Matching, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
int Satsuma.IGraph.NodeCount | ( | ) |
Returns the total number of nodes in O(1) time.
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.CompleteGraph, Satsuma.Subgraph, Satsuma.ContractedGraph, Satsuma.Matching, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
IEnumerable<Node> Satsuma.IGraph.Nodes | ( | ) |
Returns all nodes of the graph.
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.Subgraph, Satsuma.CompleteGraph, Satsuma.ContractedGraph, Satsuma.Matching, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
Returns the first node of an arc. Directed arcs point from U to V.
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.Subgraph, Satsuma.CompleteGraph, Satsuma.ContractedGraph, Satsuma.Matching, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.
Returns the second node of an arc. Directed arcs point from U to V.
Implemented in Satsuma.PathGraph, Satsuma.Supergraph, Satsuma.Path, Satsuma.CompleteBipartiteGraph, Satsuma.Subgraph, Satsuma.CompleteGraph, Satsuma.ContractedGraph, Satsuma.Matching, Satsuma.RedirectedGraph, Satsuma.ReverseGraph, and Satsuma.UndirectedGraph.