Show / Hide Table of Contents

Class IntGraph<T>

Class representing a graph of ints which is in fact an alias for a generic graph.

Inheritance
System.Object
IntGraph<T>
Implements
IGraph<System.Int32>
Namespace: Edgar.Graphs
Assembly: Edgar.dll
Syntax
public class IntGraph<T> : Object, IGraph<int>
Type Parameters
Name Description
T

Generic type of the original graph.

Remarks

The idea is to provide an integer interface that may save some time because the vertices can be used directly as indices to an array instead of using something like dictionary for storing values.

Constructors

IntGraph(IGraph<T>, Func<IGraph<Int32>>)

Creates a graph with the same vertices and edges as a given graph.

Declaration
public IntGraph(IGraph<T> originalGraph, Func<IGraph<int>> graphCreator)
Parameters
Type Name Description
IGraph<T> originalGraph
System.Func<IGraph<System.Int32>> graphCreator

Returns an instance of a graph that will be used as an underlying data structure.

IntGraph(Func<IGraph<Int32>>)

Creates a graph which will use a graph returned from a given graphCreator as an underlying data structure.

Declaration
public IntGraph(Func<IGraph<int>> graphCreator)
Parameters
Type Name Description
System.Func<IGraph<System.Int32>> graphCreator

Returns an instance of a graph that will be used as an underlying data structure.

Properties

Edges

Gets all edges of the graph.

Declaration
public IEnumerable<IEdge<int>> Edges { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<IEdge<System.Int32>>

IsDirected

Checks if the graph is directed.

Declaration
public bool IsDirected { get; }
Property Value
Type Description
System.Boolean

Vertices

Gets all vertices of the graph.

Declaration
public IEnumerable<int> Vertices { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<System.Int32>

VerticesCount

Gets the total number of vertices.

Declaration
public int VerticesCount { get; }
Property Value
Type Description
System.Int32

Methods

AddEdge(T, T)

Adds an edge to the graph.

Declaration
public void AddEdge(T from, T to)
Parameters
Type Name Description
T from
T to

AddVertex(T)

Adds a given vertex and creates a mapping from the vertex to an int.

Declaration
public void AddVertex(T vertex)
Parameters
Type Name Description
T vertex

GetNeighbours(Int32)

Gets all neighbours of a given vertex.

Declaration
public IEnumerable<int> GetNeighbours(int vertex)
Parameters
Type Name Description
System.Int32 vertex
Returns
Type Description
System.Collections.Generic.IEnumerable<System.Int32>

GetOriginalVertex(Int32)

Gets the original vertex for a given integer alias.

Declaration
public T GetOriginalVertex(int vertex)
Parameters
Type Name Description
System.Int32 vertex
Returns
Type Description
T

GetVertexAlias(T)

Gets the alias for a given vertex.

Declaration
public int GetVertexAlias(T vertex)
Parameters
Type Name Description
T vertex
Returns
Type Description
System.Int32

HasEdge(Int32, Int32)

Checks whether there exists a given edge.

Declaration
public bool HasEdge(int from, int to)
Parameters
Type Name Description
System.Int32 from
System.Int32 to
Returns
Type Description
System.Boolean

Explicit Interface Implementations

IGraph<Int32>.AddEdge(Int32, Int32)

Adding integer edges is not supported. Use AddEdge(T from, T to).

Declaration
void IGraph<int>.AddEdge(int from, int to)
Parameters
Type Name Description
System.Int32 from
System.Int32 to

IGraph<Int32>.AddVertex(Int32)

Adding integer vertices is not supported. Use AddVertex(T vertex).

Declaration
void IGraph<int>.AddVertex(int vertex)
Parameters
Type Name Description
System.Int32 vertex

Implements

IGraph<T>
Back to top Generated by DocFX