Struct circular_array::CircularArray
source · pub struct CircularArray<const N: usize, T> { /* private fields */ }
Expand description
A circular array that allows infinite pushes into a fixed-size array.
Implementations§
source§impl<const N: usize, T> CircularArray<N, T>
impl<const N: usize, T> CircularArray<N, T>
pub fn new() -> Self
sourcepub fn push(&mut self, item: T)
pub fn push(&mut self, item: T)
§example
#[test]
#[allow(non_snake_case)]
fn test_Index_and_IndexMut() {
let mut arr = CircularArray::<3, u32>::new();
arr.push(0);
arr.push(0);
arr.push(0);
arr.push(0);
arr.push(0);
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
assert_eq!(arr[0], 1);
assert_eq!(arr[1], 2);
assert_eq!(arr[2], 3);
}
Trait Implementations§
Auto Trait Implementations§
impl<const N: usize, T> Freeze for CircularArray<N, T>where
T: Freeze,
impl<const N: usize, T> RefUnwindSafe for CircularArray<N, T>where
T: RefUnwindSafe,
impl<const N: usize, T> Send for CircularArray<N, T>where
T: Send,
impl<const N: usize, T> Sync for CircularArray<N, T>where
T: Sync,
impl<const N: usize, T> Unpin for CircularArray<N, T>where
T: Unpin,
impl<const N: usize, T> UnwindSafe for CircularArray<N, T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more