All pastes #2073887 Raw Edit

Something

public cpp v1 · immutable
#2073887 ·published 2011-06-02 21:55 UTC
rendered paste body
void task(sc_session *s,sc_segment* segment,sc_addr graph){	typedef std::set<sc_addr> vertexs_set;	vertexs_set visited_vertexs;	sc_addr temp_connective,second_vertex;	sc_addr sc_visited_vertexes = s->create_el(segment,SC_N_CONST);		sc_iterator* it = s->create_iterator(sc_constraint_new(CONSTR_5_f_a_a_a_f,graph,0,0,0,graph_theory::connective_),true);	sc_addr first_connnective = it->value(2);		sc_iterator* first_connnective_it = s->create_iterator(sc_constraint_new(CONSTR_3_f_a_a,first_connnective,0,0),true);	sc_addr first_vertex = first_connnective_it->value(2);	visited_vertexs.insert(first_vertex);	sc_set::include_in(s,segment,first_vertex,sc_visited_vertexes);	for(vertexs_set::iterator iter = visited_vertexs.begin(); iter != visited_vertexs.end();++iter){		sc_iterator* vertex_it = s->create_iterator(sc_constraint_new(CONSTR_3l2_f_a_a_a_f,graph,0,0,0,(*iter)),true);		sc_for_each (vertex_it){			temp_connective=vertex_it->value(2);			sc_iterator* temp_connective_it = s->create_iterator(sc_constraint_new(CONSTR_3_f_a_a,temp_connective,0,0),true);						if((second_vertex = temp_connective_it->value(2)) == *iter){				temp_connective_it->next();				second_vertex = temp_connective_it->value(2);			}			if(!sc_set::is_in(s,second_vertex,sc_visited_vertexes)){				sc_set::include_in(s,segment,second_vertex,sc_visited_vertexes);				visited_vertexs.insert(second_vertex);				printf("%s:%s\n",s->get_idtf(*iter).c_str(),s->get_idtf(second_vertex).c_str());			}		}	}	delete it;}