/// <summary> /// Constructor /// </summary> /// <param name="graph">The given graph</param> /// <param name="freeze">This parameter determines if the iteration will happen on the given graph or a clone of it. In case the graph is changing during the iteration and the objective is to iterate on the initial graph then set freeze to true</param> public CIt_GraphNodes(CGraph graph, bool freeze = false) { if (!freeze) { m_graph = graph; } else { // Iteration happens on the clone which can't be changed externally m_graph = CGraph.TemporalClone(graph); // The graph that is given from externally and can be change // during iteration m_initialGraph = graph; } }