Skip to main content

Array

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

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§