Iter find_task_uses_res(Iter a, Iter b, int res) { for(Iter i = a; i!=b; ++i) { if (i->uses_resource(res)) return i; } return b; }