MoonTools.Graph/Graph/Extensions/WeightedMulti.cs

19 lines
739 B
C#
Raw Normal View History

2020-02-21 02:43:25 +00:00
namespace MoonTools.Graph.Extensions
2019-10-24 08:10:49 +00:00
{
public static class WeightedMultiExtensions
{
public static void AddEdge<TGraph, TNode>(this TGraph g, TNode v, TNode u, int weight) where TGraph : Graph<TNode, Unit>, IWeightedMultiGraph<TNode, Unit> where TNode : System.IEquatable<TNode>
{
g.AddEdge(v, u, weight, default(Unit));
}
public static void AddEdges<TGraph, TNode>(this TGraph g, params (TNode, TNode, int)[] edges) where TGraph : Graph<TNode, Unit>, IWeightedMultiGraph<TNode, Unit> where TNode : System.IEquatable<TNode>
{
foreach (var (v, u, weight) in edges)
{
g.AddEdge(v, u, weight, default(Unit));
}
}
}
2020-02-21 02:43:25 +00:00
}