...любопытная кстати. Хотя бы тем, что я не могу сообразить, как ее сделать прямо.
Надо состыковать два интерфейса для обхода дерева, суть токова:
У нас есть такой:
typedef struct _node_ node_t;
typedef int (*callback)( node_t *node, void *context );
int bypass_tree( node_t *root, callback cb, void *context );
а надо поверх него
(
Read more... )
Имхо в C не получится, если только не завести другие OS-потоки.
Reply
Reply
Reply
Reply
- getcontext
- makecontext c bypass_tree в аргументах
- в коллбеке swapcontext
- в iterator_t сохранить ucontext_t
типа того?
Reply
P.S. Всё равно из пушки по воробьям получается, если у тебя меньше миллиона итемов в листе, то забей и сначала пройдись, а потом итерируй.
P.P.S. Кстати, программы с континюейшнами тяжелее дебажить ;)
Reply
Да там это добро вообще снаружи выдается, я не могу знать, сколько там элементов. Вдруг, миллиард :)
> Кстати, программы с континюейшнами тяжелее дебажить ;)
Надо приучить себя программировать без ошибок =)
Reply
Leave a comment