У меня есть поток данных, которые я хочу разместить в контейнере. Этот контейнер будет либо иметь фиксированный размер, либо динамически ограничен определенным размером во время выполнения. Последнее может быть предпочтительным.wxVListBox с «динамическими» данными
Когда контейнер заполнен, самые старые данные будут удалены.
Я хочу показать эти данные, используя wxVListBox, потому что мне нужен полный контроль над дисплеем. Однако есть проблема: вызовы OnDrawItem не являются атомарными, что после того, как контейнер заполнен, каждый вызов OnDrawItem будет получать доступ к движущимся данным, результатом будет несмежный дисплей с отсутствующими элементами.
Это, безусловно, верно для любого контейнера с встроенным индексом типа массива, требуемым OnDrawItem.
я могу имитировать массив типа индексирования в станде :: карте с использованием итератора индексации, если ключом является последовательным целым числом, то все элементы будут упорядочены и карта может быть отсечены довольно легко, но, похоже, неэффективный взлом.
Как я могу это решить? Любые другие идеи или контейнеры, о которых я не думал?
+1 для обмена собственными результатами. –