Show / Hide Table of Contents

Class TransitionFactoryImplicitGraph<TVertex, TEdge>

Implementation for a graph data structure that support growth by transitions made by out edges of its vertices.

Inheritance
System.Object
TransitionFactoryImplicitGraph<TVertex, TEdge>
Implements
IImplicitGraph<TVertex, TEdge>
IGraph<TVertex, TEdge>
IImplicitVertexSet<TVertex>
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: QuikGraph.Algorithms.Exploration
Assembly: QuikGraph.dll
Syntax
[Serializable]
public sealed class TransitionFactoryImplicitGraph<TVertex, TEdge> : IImplicitGraph<TVertex, TEdge>, IGraph<TVertex, TEdge>, IImplicitVertexSet<TVertex> where TVertex : ICloneable where TEdge : IEdge<TVertex>
Type Parameters
Name Description
TVertex

Vertex type.

TEdge

Edge type

Properties

| Improve this Doc View Source

AllowParallelEdges

Gets a value indicating if the graph allows parallel edges

Declaration
public bool AllowParallelEdges { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

IsDirected

Gets a value indicating if the graph is directed

Declaration
public bool IsDirected { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

SuccessorEdgePredicate

Predicate that an edge must match to be the successor of a source vertex.

Declaration
public EdgePredicate<TVertex, TEdge> SuccessorEdgePredicate { get; set; }
Property Value
Type Description
EdgePredicate<TVertex, TEdge>
Exceptions
Type Condition
System.ArgumentNullException

Set value is null.

| Improve this Doc View Source

SuccessorVertexPredicate

Predicate that a vertex must match to be the successor (target) of an edge.

Declaration
public VertexPredicate<TVertex> SuccessorVertexPredicate { get; set; }
Property Value
Type Description
VertexPredicate<TVertex>
Exceptions
Type Condition
System.ArgumentNullException

Set value is null.

Methods

| Improve this Doc View Source

AddTransitionFactories(IEnumerable<ITransitionFactory<TVertex, TEdge>>)

Adds new ITransitionFactory<TVertex, TEdge>s to this graph.

Declaration
public void AddTransitionFactories(IEnumerable<ITransitionFactory<TVertex, TEdge>> transitionFactories)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ITransitionFactory<TVertex, TEdge>> transitionFactories

Transition factories to add.

Exceptions
Type Condition
System.ArgumentNullException

transitionFactories is null.

| Improve this Doc View Source

AddTransitionFactory(ITransitionFactory<TVertex, TEdge>)

Adds a new ITransitionFactory<TVertex, TEdge> to this graph.

Declaration
public void AddTransitionFactory(ITransitionFactory<TVertex, TEdge> transitionFactory)
Parameters
Type Name Description
ITransitionFactory<TVertex, TEdge> transitionFactory

Transition factory to add.

Exceptions
Type Condition
System.ArgumentNullException

transitionFactory is null.

| Improve this Doc View Source

ClearTransitionFactories()

Clears all ITransitionFactory<TVertex, TEdge> from this graph.

Declaration
public void ClearTransitionFactories()
| Improve this Doc View Source

ContainsTransitionFactory(ITransitionFactory<TVertex, TEdge>)

Checks if this graph contains the given transitionFactory.

Declaration
public bool ContainsTransitionFactory(ITransitionFactory<TVertex, TEdge> transitionFactory)
Parameters
Type Name Description
ITransitionFactory<TVertex, TEdge> transitionFactory

Transition factory to check.

Returns
Type Description
System.Boolean
| Improve this Doc View Source

ContainsVertex(TVertex)

Determines whether this set contains the specified vertex.

Declaration
public bool ContainsVertex(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to check.

Returns
Type Description
System.Boolean

True if the specified vertex is contained in this set, false otherwise.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

| Improve this Doc View Source

IsOutEdgesEmpty(TVertex)

Determines whether there are out-edges associated to vertex.

Declaration
public bool IsOutEdgesEmpty(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

The vertex.

Returns
Type Description
System.Boolean

True if vertex has no out-edges, false otherwise.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

OutDegree(TVertex)

Gets the count of out-edges of vertex.

Declaration
public int OutDegree(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

The vertex.

Returns
Type Description
System.Int32

The count of out-edges of vertex.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

OutEdge(TVertex, Int32)

Gets the out-edge of vertex at position index.

Declaration
public TEdge OutEdge(TVertex vertex, int index)
Parameters
Type Name Description
TVertex vertex

The vertex.

System.Int32 index

The index.

Returns
Type Description
TEdge

The out-edge at position index.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

System.ArgumentOutOfRangeException

No vertex at index.

VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

OutEdges(TVertex)

Gets the out-edges of vertex.

Declaration
public IEnumerable<TEdge> OutEdges(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

The vertex.

Returns
Type Description
System.Collections.Generic.IEnumerable<TEdge>

An enumeration of the out-edges of vertex.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

RemoveTransitionFactory(ITransitionFactory<TVertex, TEdge>)

Removes the given transitionFactory from this graph.

Declaration
public bool RemoveTransitionFactory(ITransitionFactory<TVertex, TEdge> transitionFactory)
Parameters
Type Name Description
ITransitionFactory<TVertex, TEdge> transitionFactory

Transition factory to remove.

Returns
Type Description
System.Boolean
| Improve this Doc View Source

TryGetOutEdges(TVertex, out IEnumerable<TEdge>)

Tries to get the out-edges of vertex.

Declaration
public bool TryGetOutEdges(TVertex vertex, out IEnumerable<TEdge> edges)
Parameters
Type Name Description
TVertex vertex

The vertex.

System.Collections.Generic.IEnumerable<TEdge> edges

Out-edges.

Returns
Type Description
System.Boolean

True if vertex was found or/and out-edges were found, false otherwise.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

Implements

IImplicitGraph<TVertex, TEdge>
IGraph<TVertex, TEdge>
IImplicitVertexSet<TVertex>

Extension Methods

GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, String)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, String, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, XmlWriter)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, XmlReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, TextReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, String, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeAndValidateFromGraphML<TVertex, TEdge, TGraph>(TGraph, TextReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
SerializationExtensions.SerializeToBinary<TVertex, TEdge>(IGraph<TVertex, TEdge>, Stream)
SerializationExtensions.SerializeToXml<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>, String, String, String, String)
SerializationExtensions.SerializeToXml<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>, String, String, String, String, Action<XmlWriter, TGraph>, Action<XmlWriter, TVertex>, Action<XmlWriter, TEdge>)
  • Improve this Doc
  • View Source
In This Article
Back to top QuikGraph