[][src]Struct ketos::rc_vec::RcVec

pub struct RcVec<T> { /* fields omitted */ }

Represents a reference-counted view into a Vec. Subslices may be created which will share the underlying data buffer.

Methods

impl<T> RcVec<T>[src]

pub fn new(data: Vec<T>) -> RcVec<T>[src]

Constructs a new RcVec from a Vec.

pub fn is_empty(&self) -> bool[src]

Returns whether the RcVec is empty.

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

Returns the number of elements visible to the RcVec.

pub fn slice<R: RangeArgument<usize>>(&self, range: R) -> RcVec<T>[src]

Returns a subslice of the RcVec, with the range being relative to this slice's boundaries.

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

pub fn into_vec(self) -> Vec<T>[src]

Consumes the RcVec and returns the contained Vec. This will clone the contained values unless the data was uniquely held.

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

Pushes a value into the contained Vec.

Trait Implementations

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

impl<T: Clone> Clone for RcVec<T>[src]

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

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

type Target = [T]

The resulting type after dereferencing.

impl<T: Clone> DerefMut for RcVec<T>[src]

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

impl<'a, T: Clone> Extend<&'a T> for RcVec<T> where
    T: Copy + 'a, 
[src]

impl<T: Clone> Extend<T> for RcVec<T>[src]

impl From<RcVec<Value>> for Value[src]

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

impl<'a, T> IntoIterator for &'a RcVec<T>[src]

type Item = &'a T

The type of the elements being iterated over.

type IntoIter = Iter<'a, T>

Which kind of iterator are we turning this into?

impl<T: Ord> Ord for RcVec<T>[src]

impl<'a, A, B> PartialEq<&'a [B; 0]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 1]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 10]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 11]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 12]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 13]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 14]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 15]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 16]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 17]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 18]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 19]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 2]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 20]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 21]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 22]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 23]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 24]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 25]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 26]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 27]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 28]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 29]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 3]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 30]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 31]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 32]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 4]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 5]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 6]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 7]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 8]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B; 9]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<&'a [B]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 0]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 1]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 10]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 11]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 12]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 13]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 14]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 15]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 16]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 17]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 18]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 19]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 2]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 20]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 21]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 22]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 23]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 24]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 25]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 26]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 27]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 28]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 29]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 3]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 30]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 31]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 32]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 4]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 5]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 6]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 7]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 8]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<A, B> PartialEq<[B; 9]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<[B]> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<RcVec<B>> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<'a, A, B> PartialEq<Vec<B>> for RcVec<A> where
    A: PartialEq<B>, 
[src]

impl<T: PartialOrd> PartialOrd<RcVec<T>> for RcVec<T>[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for RcVec<T>

impl<T> !Send for RcVec<T>

impl<T> !Sync for RcVec<T>

impl<T> Unpin for RcVec<T>

impl<T> UnwindSafe for RcVec<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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,