Skip to content

Commit acd2c72

Browse files
committed
Tweak
1 parent 5be7b31 commit acd2c72

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

include/zest/algorithm/ring_buffer.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,18 @@ void ring_buffer_assign_ordered(const ring_buffer<T>& buffer, std::vector<T>& de
6868
}
6969
}
7070

71+
template <class T>
72+
void ring_buffer_assign_ordered_newest(const ring_buffer<T>& buffer, std::vector<T>& dest, uint32_t count)
73+
{
74+
dest.resize(count);
75+
size_t idx = buffer.head;
76+
for (uint32_t i = 0; i < count; ++i)
77+
{
78+
dest[i] = buffer.data[idx];
79+
idx = (idx + 1) % buffer.data.size();
80+
}
81+
}
82+
7183
template <class T>
7284
void ring_buffer_drain_n(ring_buffer<T>& buffer, uint32_t count)
7385
{

0 commit comments

Comments
 (0)