Trait arrayvec::Array

source ·
pub unsafe trait Array {
    type Item;

    const CAPACITY: usize;

    // Required methods
    fn as_slice(&self) -> &[Self::Item];
    fn as_mut_slice(&mut self) -> &mut [Self::Item];
}
Expand description

Trait for fixed size arrays.

This trait is implemented for some specific array sizes, see the implementor list below. At the current state of Rust we can’t make this fully general for every array size.

The following crate features add more array sizes (and they are not enabled by default due to their impact on compliation speed).

  • array-sizes-33-128: All sizes 33 to 128 are implemented (a few in this range are included by default).
  • array-sizes-129-255: All sizes 129 to 255 are implemented (a few in this range are included by default).

§Safety

This trait can only be implemented by fixed-size arrays or types with exactly the representation of a fixed size array (of the right element type and capacity).

Normally this trait is an implementation detail of arrayvec and doesn’t need implementing.

Required Associated Types§

source

type Item

The array’s element type

Required Associated Constants§

source

const CAPACITY: usize

The array’s element capacity

Required Methods§

source

fn as_slice(&self) -> &[Self::Item]

source

fn as_mut_slice(&mut self) -> &mut [Self::Item]

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T> Array for [T; 0]

§

type Item = T

source§

const CAPACITY: usize = 0usize

source§

impl<T> Array for [T; 1]

§

type Item = T

source§

const CAPACITY: usize = 1usize

source§

impl<T> Array for [T; 2]

§

type Item = T

source§

const CAPACITY: usize = 2usize

source§

impl<T> Array for [T; 3]

§

type Item = T

source§

const CAPACITY: usize = 3usize

source§

impl<T> Array for [T; 4]

§

type Item = T

source§

const CAPACITY: usize = 4usize

source§

impl<T> Array for [T; 5]

§

type Item = T

source§

const CAPACITY: usize = 5usize

source§

impl<T> Array for [T; 6]

§

type Item = T

source§

const CAPACITY: usize = 6usize

source§

impl<T> Array for [T; 7]

§

type Item = T

source§

const CAPACITY: usize = 7usize

source§

impl<T> Array for [T; 8]

§

type Item = T

source§

const CAPACITY: usize = 8usize

source§

impl<T> Array for [T; 9]

§

type Item = T

source§

const CAPACITY: usize = 9usize

source§

impl<T> Array for [T; 10]

§

type Item = T

source§

const CAPACITY: usize = 10usize

source§

impl<T> Array for [T; 11]

§

type Item = T

source§

const CAPACITY: usize = 11usize

source§

impl<T> Array for [T; 12]

§

type Item = T

source§

const CAPACITY: usize = 12usize

source§

impl<T> Array for [T; 13]

§

type Item = T

source§

const CAPACITY: usize = 13usize

source§

impl<T> Array for [T; 14]

§

type Item = T

source§

const CAPACITY: usize = 14usize

source§

impl<T> Array for [T; 15]

§

type Item = T

source§

const CAPACITY: usize = 15usize

source§

impl<T> Array for [T; 16]

§

type Item = T

source§

const CAPACITY: usize = 16usize

source§

impl<T> Array for [T; 17]

§

type Item = T

source§

const CAPACITY: usize = 17usize

source§

impl<T> Array for [T; 18]

§

type Item = T

source§

const CAPACITY: usize = 18usize

source§

impl<T> Array for [T; 19]

§

type Item = T

source§

const CAPACITY: usize = 19usize

source§

impl<T> Array for [T; 20]

§

type Item = T

source§

const CAPACITY: usize = 20usize

source§

impl<T> Array for [T; 21]

§

type Item = T

source§

const CAPACITY: usize = 21usize

source§

impl<T> Array for [T; 22]

§

type Item = T

source§

const CAPACITY: usize = 22usize

source§

impl<T> Array for [T; 23]

§

type Item = T

source§

const CAPACITY: usize = 23usize

source§

impl<T> Array for [T; 24]

§

type Item = T

source§

const CAPACITY: usize = 24usize

source§

impl<T> Array for [T; 25]

§

type Item = T

source§

const CAPACITY: usize = 25usize

source§

impl<T> Array for [T; 26]

§

type Item = T

source§

const CAPACITY: usize = 26usize

source§

impl<T> Array for [T; 27]

§

type Item = T

source§

const CAPACITY: usize = 27usize

source§

impl<T> Array for [T; 28]

§

type Item = T

source§

const CAPACITY: usize = 28usize

source§

impl<T> Array for [T; 29]

§

type Item = T

source§

const CAPACITY: usize = 29usize

source§

impl<T> Array for [T; 30]

§

type Item = T

source§

const CAPACITY: usize = 30usize

source§

impl<T> Array for [T; 31]

§

type Item = T

source§

const CAPACITY: usize = 31usize

source§

impl<T> Array for [T; 32]

§

type Item = T

source§

const CAPACITY: usize = 32usize

source§

impl<T> Array for [T; 40]

§

type Item = T

source§

const CAPACITY: usize = 40usize

source§

impl<T> Array for [T; 48]

§

type Item = T

source§

const CAPACITY: usize = 48usize

source§

impl<T> Array for [T; 50]

§

type Item = T

source§

const CAPACITY: usize = 50usize

source§

impl<T> Array for [T; 56]

§

type Item = T

source§

const CAPACITY: usize = 56usize

source§

impl<T> Array for [T; 64]

§

type Item = T

source§

const CAPACITY: usize = 64usize

source§

impl<T> Array for [T; 72]

§

type Item = T

source§

const CAPACITY: usize = 72usize

source§

impl<T> Array for [T; 96]

§

type Item = T

source§

const CAPACITY: usize = 96usize

source§

impl<T> Array for [T; 100]

§

type Item = T

source§

const CAPACITY: usize = 100usize

source§

impl<T> Array for [T; 128]

§

type Item = T

source§

const CAPACITY: usize = 128usize

source§

impl<T> Array for [T; 160]

§

type Item = T

source§

const CAPACITY: usize = 160usize

source§

impl<T> Array for [T; 192]

§

type Item = T

source§

const CAPACITY: usize = 192usize

source§

impl<T> Array for [T; 200]

§

type Item = T

source§

const CAPACITY: usize = 200usize

source§

impl<T> Array for [T; 224]

§

type Item = T

source§

const CAPACITY: usize = 224usize

source§

impl<T> Array for [T; 256]

§

type Item = T

source§

const CAPACITY: usize = 256usize

source§

impl<T> Array for [T; 384]

§

type Item = T

source§

const CAPACITY: usize = 384usize

source§

impl<T> Array for [T; 512]

§

type Item = T

source§

const CAPACITY: usize = 512usize

source§

impl<T> Array for [T; 768]

§

type Item = T

source§

const CAPACITY: usize = 768usize

source§

impl<T> Array for [T; 1024]

§

type Item = T

source§

const CAPACITY: usize = 1_024usize

source§

impl<T> Array for [T; 2048]

§

type Item = T

source§

const CAPACITY: usize = 2_048usize

source§

impl<T> Array for [T; 4096]

§

type Item = T

source§

const CAPACITY: usize = 4_096usize

source§

impl<T> Array for [T; 8192]

§

type Item = T

source§

const CAPACITY: usize = 8_192usize

source§

impl<T> Array for [T; 16384]

§

type Item = T

source§

const CAPACITY: usize = 16_384usize

source§

impl<T> Array for [T; 32768]

§

type Item = T

source§

const CAPACITY: usize = 32_768usize

source§

impl<T> Array for [T; 65536]

§

type Item = T

source§

const CAPACITY: usize = 65_536usize

Implementors§