Обращение к предыдущему элементу происходит следующим образом:
if (__x->__left_ != nullptr)
return __tree_max(__x->__left_);
while (__tree_is_left_child(__x))
__x = __x->__parent_;
return __x->__parent_;
Как видно в такой реализации у end_nodы предыдущим элементом будет являтся максимальная нода в дереве (left для end_nodы - это корень дерева).
Тогда такую просьбу нужно адресовать скорее администрации хабра. Чтоб они запилили персональные блеклисты. Пилить и поддерживать такую функциональность сторонней штукой - геморно.
Я предлагаю именно минусовать - минус как раз и означает что тематика автора не интересна и не хотелось бы видеть такое на хабре.
Тогда по другому - сохраняйте для каждого кадра его время. А по таймеру берите среди всех кадров последний, который был до текущего времени (т. е. при необходимости - пропускайте пару кадров или наоборот - берите старый, если новых не было).
wstring отдавать куда-либо наружу - плохая идея, т. к. нигде не специфицирована использованная им кодировка. Лучше преобразовать в UTF-8, как и предложено в ответе выше.
Пара замечаний:
1) для хранения динамического массива в stl есть std::vector. Соотвественно структура будет выглядеть как std::vector > hash
2) Разберитесь с O нотацией и (или) с эффективностью хеша и остальных базовых структур данных. Чтение, поиск и удаление из хеша в среднем случае занимают постоянное время, т. е. O(1)
@justaguest ctags поставь и будет нормальный автокомплит, переход к определению функций, etc. Ну и вообще - vim нужно один раз настроить под себя, потратив какое-то количество времени, залить профиль на гитхаб и потом пользоваться им везде. Возможно не всем это подходит.
if (__x->__left_ != nullptr)
return __tree_max(__x->__left_);
while (__tree_is_left_child(__x))
__x = __x->__parent_;
return __x->__parent_;
Как видно в такой реализации у end_nodы предыдущим элементом будет являтся максимальная нода в дереве (left для end_nodы - это корень дерева).