boost :: round_buffer cann обеспечивает буфер фиксированной длины, например, при размере 5.Как создать фиксированный круговой буфер длины TIME?
Imaging, что у меня есть поток данных в реальном времени, входящий в timestamp. Я хочу сохранить буфер всех элементов за последние 5 минут.
На самом деле, я могу создать оболочку std :: list, каждый раз, когда появляется новая точка D данных, я push_back (D), а затем выполняю цикл while в pop_front(), все точки данных старше 5 минут ,
Проблема с такой конструкции является то, что я должен построить новый экземпляр для каждой точки, это, кажется, пустая трата времени (это очень активно используется объект)
делает кто-нибудь здесь есть более элегантное решение?
спасибо!
Как бы это было иначе для кругового буфера? Вам также нужно будет строить свои точки данных – Attila