pub unsafe trait Array {
    type Item;

    // Required methods
    fn size() -> usize;
    fn ptr(&self) -> *const Self::Item;
    fn ptr_mut(&mut self) -> *mut Self::Item;

    // Provided methods
    fn wrap_add(idx: usize, addend: usize) -> usize { ... }
    fn wrap_sub(idx: usize, subtrahend: usize) -> usize { ... }
}
Expand description

Types that can be used as the backing store for a FixedVecDeque.

Safety

Implementor must ensure that the type is array appropriate.

Required Associated Types§

source

type Item

The type of the array’s elements.

Required Methods§

source

fn size() -> usize

Returns the number of items the array can hold.

source

fn ptr(&self) -> *const Self::Item

Returns a pointer to the first element of the array.

source

fn ptr_mut(&mut self) -> *mut Self::Item

Returns a mutable pointer to the first element of the array.

Provided Methods§

source

fn wrap_add(idx: usize, addend: usize) -> usize

Returns the index in the underlying buffer for a given logical element index + addend.

source

fn wrap_sub(idx: usize, subtrahend: usize) -> usize

Returns the index in the underlying buffer for a given logical element index - subtrahend.

Implementations on Foreign Types§

source§

impl<T> Array for [T; 1]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 524288]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 14]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 1024]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 15]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 24]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 13]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 3]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 5]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 2]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 11]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 36]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 8]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 16]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 512]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 4]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 2048]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 64]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 65536]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 10]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 1048576]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 8192]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 20]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 0]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 32]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 9]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 7]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 6]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 262144]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 16384]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 256]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 131072]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 12]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 128]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 4096]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

source§

impl<T> Array for [T; 32768]where T: Default,

§

type Item = T

source§

fn size() -> usize

source§

fn ptr(&self) -> *const T

source§

fn ptr_mut(&mut self) -> *mut T

Implementors§