public void graph_creator() { IKVPairInstance <IInteger, IIterator <IInputFormat> > input_gifs_instance = (IKVPairInstance <IInteger, IIterator <IInputFormat> >)Graph_values.Instance; IIteratorInstance <IInputFormat> vgifs = (IIteratorInstance <IInputFormat>)input_gifs_instance.Value; object o; if (partition_own == null) { if (vgifs.fetch_next(out o)) { IInputFormatInstance gif = (IInputFormatInstance)o; partition = gif.PartitionTABLE; partid = gif.PARTID; partition_size = gif.PARTITION_SIZE; g = Graph.newInstance(gif.VSIZE); // pega-se uma instancia do graph, com vertices do tipo inteiro, com tamanho previsto VSIZE g.DataContainer.AllowingLoops = false; // não serão premitidos laços g.DataContainer.AllowingMultipleEdges = false; // não serão permitidas múltiplas arestas graph_creator_aux(gif); // inserem-se dados no grafo partition_own = new bool[partition_size]; partition_own [partid] = true; } } while (vgifs.fetch_next(out o)) { graph_creator_aux((IInputFormatInstance)o); partition_own [((IInputFormatInstance)o).PARTID] = true; } }