/// <inheritdoc /> protected override void Set(AdjacencyEnumerator data) { _destVertexIndex1 = data.GetNext(out _edgeData1); _destVertexIndex2 = data.GetNext(out _edgeData2); _destVertexIndex3 = data.GetNext(out _edgeData3); _destVertexIndex4 = data.GetNext(out _edgeData4); }
/// <inheritdoc /> public override void Initialize(IEnumerable <AdjacentEdge <TEdgeData> > edgesTo) { using (var enumerator = edgesTo.GetEnumerator()) { var data = new AdjacencyEnumerator(enumerator); Set(data); var leftItems = 0; while (enumerator.MoveNext()) { leftItems++; } ValidateInitializedNumberOfEdges(EdgesCount + leftItems); } }
protected abstract void Set(AdjacencyEnumerator data);