ProgramPtr Program::remEntryPoints(NodeManager& manager, const ProgramPtr& program, const ExpressionList& entryPoints) { ExpressionList list; for_each(program->getEntryPoints(), [&list, &entryPoints](const ExpressionPtr& cur) { if(!contains(entryPoints, cur, equal_target<ExpressionPtr>())) { list.push_back(cur); } }); return manager.get(Program(list)); }