A trait for types that are an array.
An “array”, for our purposes, has the following properties:
- Owns some number of elements.
- The element type can be generic, but must implement
Default
.
- The capacity is fixed at compile time, based on the implementing type.
- You can get a shared or mutable slice to the elements.
You are generally not expected to need to implement this yourself. It is
already implemented for all the major array lengths (0..=32
and the powers
of 2 up to 4,096).
Additional lengths can easily be added upon request.
Just a reminder: this trait is 100% safe, which means that unsafe
code
must not rely on an instance of this trait being correct.
The type of the items in the thing.
Loading content...The number of slots in the thing.
Loading content...Gives a shared slice over the whole thing.
A correct implementation will return a slice with a length equal to the
CAPACITY
value.
fn as_slice_mut(&mut self) -> &mut [Self::Item]ⓘ
[src]
Gives a unique slice over the whole thing.
A correct implementation will return a slice with a length equal to the
CAPACITY
value.
fn default() -> Self
[src]
Create a default-initialized instance of ourself, similar to the
Default
trait, but implemented for the same range of sizes as
Array
.
Loading content...impl<T: Default> Array for [T; 0]
[src]
impl<T: Default> Array for [T; 1]
[src]
impl<T: Default> Array for [T; 2]
[src]
impl<T: Default> Array for [T; 3]
[src]
impl<T: Default> Array for [T; 4]
[src]
impl<T: Default> Array for [T; 5]
[src]
impl<T: Default> Array for [T; 6]
[src]
impl<T: Default> Array for [T; 7]
[src]
impl<T: Default> Array for [T; 8]
[src]
impl<T: Default> Array for [T; 9]
[src]
impl<T: Default> Array for [T; 10]
[src]
impl<T: Default> Array for [T; 11]
[src]
impl<T: Default> Array for [T; 12]
[src]
impl<T: Default> Array for [T; 13]
[src]
impl<T: Default> Array for [T; 14]
[src]
impl<T: Default> Array for [T; 15]
[src]
impl<T: Default> Array for [T; 16]
[src]
impl<T: Default> Array for [T; 17]
[src]
impl<T: Default> Array for [T; 18]
[src]
impl<T: Default> Array for [T; 19]
[src]
impl<T: Default> Array for [T; 20]
[src]
impl<T: Default> Array for [T; 21]
[src]
impl<T: Default> Array for [T; 22]
[src]
impl<T: Default> Array for [T; 23]
[src]
impl<T: Default> Array for [T; 24]
[src]
impl<T: Default> Array for [T; 25]
[src]
impl<T: Default> Array for [T; 26]
[src]
impl<T: Default> Array for [T; 27]
[src]
impl<T: Default> Array for [T; 28]
[src]
impl<T: Default> Array for [T; 29]
[src]
impl<T: Default> Array for [T; 30]
[src]
impl<T: Default> Array for [T; 31]
[src]
impl<T: Default> Array for [T; 32]
[src]
impl<T: Default> Array for [T; 33]
[src]
impl<T: Default> Array for [T; 64]
[src]
impl<T: Default> Array for [T; 128]
[src]
impl<T: Default> Array for [T; 256]
[src]
impl<T: Default> Array for [T; 512]
[src]
impl<T: Default> Array for [T; 1024]
[src]
impl<T: Default> Array for [T; 2048]
[src]
impl<T: Default> Array for [T; 4096]
[src]
Loading content...Loading content...