они же «andersson trees»? это такие красно-чёрные деревья, только попроще. разница (для тех, кому важно) в том, что rb-tree достаточно одного бита на ноду для банасирования, а aa-tree хочет цельное число — «уровень». поскольку большинство из вас всё равно на флажок «красный/чёрный» выделяет как минимум байт, то практической разницы не будет (сбалансированое дерево глубиной 255 — это очень большое дерево, честно: при таких объёмах уже есть смысл не использовать самопальные самокаты).
вот вам реализация на C. да, aspx, я знаю. ну и что? вам шашечки или ехать? реализация, кстати, нерекурсивная. и public domain.
живите счастливо, пишите на си. если, конечно, удастся это совместить.
я, правда, не понял, кто из нас: я или флюкс. ну, то есть, я-то точно, а про флюкс — не знаю. в общем, я нечаянно наоптимизировал так, что если вывести модальный диалог до того, как до его владельца дойдёт событие фокуса, то начинается весёлая драка: владелец пытается сфокусировать свой активный контрол, флюкс это видит, пытается вернуть фокус модальному диалогу, сходит с ума и начинает свитчить фокус между двумя окнами без остановки. причём продолжает заниматься этой ерундой даже когда я жестоко убиваю свою софтину.
в общем-то, это мой баг: надо сначала проверить, имеет ли фокус само окно, и только потом уже передавать фокус активному контролу. но отчего в такой ситуации даётся ёбу флюкс — не ясно. иногда флюкс потом попускает, а иногда нет, и тогда он намертво виснет, выжрав весь процессор.
будьте аккуратны, показывая фокусы: вас могут не понять.
а как вы делаете таймеры в чистоиксовом event loop?
[Nov. 8th, 2013|06:58 pm]
не, я знаю, что никто не ответит, но а вдруг? ограничения такие: многопоточность похую, поэтому случай добавления таймера из другого потока не интересует. а потому — таймерное API гарантировано дёргается только из обработчиков событий.