コード例 #1
0
        /// <inheritdoc />
        public void Clear()
        {
            IVertexEdgeDictionary <TVertex, TEdge> vertexEdges = _vertexEdges;

            _vertexEdges = new VertexEdgeDictionary <TVertex, TEdge>();
            EdgeCount    = 0;

            NotifyEdgesRemoved(vertexEdges.SelectMany(edges => edges.Value).Distinct());
            NotifyVerticesRemoved(vertexEdges.Keys);
            vertexEdges.Clear();
        }
コード例 #2
0
ファイル: AdjacencyGraph.cs プロジェクト: kreghek/QuikGraph
        /// <inheritdoc />
        public void Clear()
        {
            if (EdgeRemoved != null) // Lazily notify
            {
                foreach (TEdge edge in _vertexEdges.SelectMany(edges => edges.Value).Distinct())
                {
                    OnEdgeRemoved(edge);
                }
                foreach (TVertex vertex in _vertexEdges.Keys)
                {
                    OnVertexRemoved(vertex);
                }
            }

            _vertexEdges.Clear();
            EdgeCount = 0;
        }