CountPtr<Value> NodeBuiltinNext::execute(void) { vector< CountPtr<Value> > par = getParametersValues(); assert(par.size() == 1); return par[0]->next(); }
CountPtr<Value> NodeBuiltinIsSet::execute(void) { vector< CountPtr<Value> > par = getParametersValues(); assert(par.size() == 1); return (par[0]->toValueSet() != NULL) ? VALUEBOOL_TRUE : VALUEBOOL_FALSE; }
CountPtr<Value> NodeBuiltinBreakpoint::execute(void) { vector< CountPtr<Value> > par = getParametersValues(); assert(par.size() == 1); if(par[0]->toBool()) CONTEXT.breakpoint(); return VALUENULL; }
CountPtr<Value> NodeBuiltinIntersection::execute(void) { vector< CountPtr<Value> > par = getParametersValues(); assert(par.size() == 2); ValueSet* vset1 = NULL; ValueSet* vset2 = NULL; if((vset1 = par[0]->toValueSet()) != NULL && (vset2 = par[1]->toValueSet()) != NULL) return vset1->getIntersection(*vset2); else { assert(0 && "Bad parameters type: intersection(set, set) : set|null"); return VALUENULL; } }
CountPtr<Value> NodeBuiltinDeleteVertex::execute(void) { vector< CountPtr<Value> > par = getParametersValues(); assert(par.size() == 2); ValueGraph* g = NULL; if((g = par[0]->toValueGraph()) != NULL && par[1]->toValueVertex() != NULL) g->deleteVertex(par[1]); else assert(0 && "Bad parameters type: deleteVertex(graph, vertex) : null"); return VALUENULL; }
CountPtr<Value> NodeBuiltinSaveToFile::execute(void) { vector< CountPtr<Value> > par = getParametersValues(); assert(par.size() == 2); ValueGraph* g = NULL; ValueString* path = NULL; if((g = par[0]->toValueGraph()) != NULL && (path = par[1]->toValueString()) != NULL) return g->saveToFile(path->getVal()) ? VALUEBOOL_TRUE : VALUEBOOL_FALSE; else { assert(0 &&"Bad parameters type: loadFromFile(graph, string) : bool"); return VALUEBOOL_FALSE; } }
CountPtr<Value> NodeBuiltinGetBeginVertex::execute(void) { vector< CountPtr<Value> > par = getParametersValues(); assert(par.size() == 1); ValueEdge* e = NULL; if((e = par[0]->toValueEdge()) != NULL) return e->getBeginVertex(); else { WARN_P(_("Bad parameters type: getBeginVertex(edge) : vertex|null")); return VALUENULL; } }
CountPtr<Value> NodeBuiltinGetVertices::execute(void) { vector< CountPtr<Value> > par = getParametersValues(); assert(par.size() == 1); ValueGraph* g = NULL; if((g = par[0]->toValueGraph()) != NULL) return g->getVertices(); else { assert(0 && "Bad parameters type: getVertices(graph) : set|null"); return VALUENULL; } }
CountPtr<Value> NodeBuiltinGenerateEdge::execute(void) { vector< CountPtr<Value> > par = getParametersValues(); assert(par.size() == 3); ValueGraph* g = NULL; if((g = par[0]->toValueGraph()) != NULL && par[1]->toValueVertex() != NULL && par[2]->toValueVertex() != NULL) { return g->generateEdge(par[1], par[2]); } else { assert(0 && "Bad parameters type: generateEdge(graph, vertex, vertex) : edge|null"); return VALUENULL; } }