с какой стороны подойти, не пойму...
есть иерархия классов, все имеющие свою версию MyClass::run(); есть вектор std::vector<MyClass*> pClasses;
в какой-то момент времени нужно все их пробежать, т.е. отрабатывает for_each(pClasses.begin(), pClasses.end(), Execute()); где
class Execute {
public:
void operator()(const MyClass *p) const {
p->run();
}
};
но фишка в том, что на определенном шаге энному члену нужно иметь возможность каким-то образом прекратить все дальнейшие "запуски" MyClass::run() у оставшейся цепочки, т.е. какбы сэмулировать завершение вышеуказанного for_each(...);
есть идеи? был бы признателен.