Здравствуйте, remark, Вы писали:
R>Ну ладно-ладно, туплю. Нужен auto_ptr, как ты сказал.
В общем случае нужен stack on the heap.
Для C++ по всей видимости вполне себе будет достаточно объявления _generator как CRTP
структуры/шаблона плюс поле _generatror<NAME>* _stack.
Это точно будет работать — т.е. можно и рекурсивные вызовы делать (но только себя самого)
bool operator()(T& _rv)
{
do {
....
} while(_pop());
}
bool _pop()
{
if(!_stack) return false;
_generatror<NAME>* t = _stack;
*this = *_stack;
delete t;
}