util/ringbuffer: Implement indexing

This commit is contained in:
parazyd
2023-08-31 17:49:31 +02:00
parent 71fedd2245
commit 70ff536034

View File

@@ -71,6 +71,20 @@ impl<T: Eq + PartialEq + Clone, const N: usize> RingBuffer<T, N> {
pub fn to_vec(&self) -> Vec<T> {
self.0.iter().cloned().collect()
}
/// Rearranges the internal storage of this deque so it is one contiguous slice.
pub fn make_contiguous(&mut self) -> &mut [T] {
self.0.make_contiguous()
}
}
impl<T, const N: usize> std::ops::Index<usize> for RingBuffer<T, N> {
type Output = T;
#[inline]
fn index(&self, index: usize) -> &T {
self.0.get(index).expect("Out of bounds access")
}
}
#[cfg(test)]