Trait Array

Source
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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

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

Source§

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; 1]
where T: Default,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

type Item = T

Source§

fn size() -> usize

Source§

fn ptr(&self) -> *const T

Source§

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

Implementors§