[][src]Struct sixtyfps_corelib::SharedArray

#[repr(C)]pub struct SharedArray<T> { /* fields omitted */ }

SharedArray holds a reference-counted read-only copy of [T].

Implementations

impl<T> SharedArray<T>[src]

pub fn with_capacity(capacity: usize) -> Self[src]

Create a new empty array with a pre-allocated capacity in number of items

pub fn len(&self) -> usize[src]

Number of elements in the array

pub fn as_slice(&self) -> &[T][src]

Return a slice to the array

impl<T: Clone> SharedArray<T>[src]

pub fn from_slice(slice: &[T]) -> SharedArray<T>[src]

Create a SharedArray from a slice

pub fn as_slice_mut(&mut self) -> &mut [T][src]

Return a mutable slice to the array. If the array was shared, this will make a copy of the array.

pub fn push(&mut self, value: T)[src]

Add an elent to the array. If the array was shared, this will make a copy of the array.

pub fn resize(&mut self, new_len: usize, value: T)[src]

Resize the array to the given size. If the array was smaller new elements will be initialized with the value. If the array was bigger, extra elements will be discared

use sixtyfps_corelib::SharedArray;
let mut shared_array = SharedArray::<u32>::from_slice(&[1, 2, 3]);
shared_array.resize(5, 8);
assert_eq!(shared_array.as_slice(), &[1, 2, 3, 8, 8]);
shared_array.resize(2, 0);
assert_eq!(shared_array.as_slice(), &[1, 2]);

Trait Implementations

impl<T> AsRef<[T]> for SharedArray<T>[src]

impl<T> Clone for SharedArray<T>[src]

impl<T: Debug> Debug for SharedArray<T>[src]

impl<T> Default for SharedArray<T>[src]

impl<T> Deref for SharedArray<T>[src]

type Target = [T]

The resulting type after dereferencing.

impl<T> Drop for SharedArray<T>[src]

impl<T: Eq> Eq for SharedArray<T>[src]

impl<T: Clone, '_> From<&'_ [T]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 0]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 1]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 10]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 11]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 12]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 13]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 14]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 15]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 16]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 17]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 18]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 19]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 2]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 20]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 21]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 22]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 23]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 24]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 25]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 26]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 27]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 28]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 29]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 3]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 30]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 31]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 4]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 5]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 6]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 7]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 8]> for SharedArray<T>[src]

impl<T: Clone> From<[T; 9]> for SharedArray<T>[src]

impl<T> FromIterator<T> for SharedArray<T>[src]

impl<T: Clone> IntoIterator for SharedArray<T>[src]

type Item = T

The type of the elements being iterated over.

type IntoIter = IntoIter<T>

Which kind of iterator are we turning this into?

impl<T, U: ?Sized> PartialEq<U> for SharedArray<T> where
    U: AsRef<[T]>,
    T: PartialEq
[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for SharedArray<T> where
    T: RefUnwindSafe

impl<T> !Send for SharedArray<T>

impl<T> !Sync for SharedArray<T>

impl<T> Unpin for SharedArray<T>

impl<T> UnwindSafe for SharedArray<T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.