[][src]Struct screeps::JsVec

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

Reference to a JavaScript array which is expected to contain a specific type of item.

All TryFrom / TryInto conversions use type checking, but FromExpectedType / IntoExpectedType possibly don't.

The implementation for Into<Vec<T>> uses IntoExpectedType internally.

Trait notes: implements TryInto<Vec<T>>, but Vec<T> does not implement TryFrom<JsVec<T>> due to coherence issues.

Methods

impl<T> JsVec<T>[src]

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

impl<T> JsVec<T> where
    T: FromExpectedType<Value>, 
[src]

pub fn get(&self, idx: usize) -> Option<T>[src]

Gets an item, panicking if the types don't match and check-all-casts is enabled.

pub fn try_get(&self, idx: usize) -> Result<Option<T>, ConversionError>[src]

Gets an item, returning an error if the types don't match and check-all-casts is enabled.

Important traits for Iter<'a, T>
pub fn iter(&self) -> Iter<T>[src]

Iterates over elements, panicking if any are not the expected type and check-all-casts is enabled.

Important traits for TryIter<'a, T>
pub fn try_iter(&self) -> TryIter<T>[src]

Iterates over elements, returning an error if any are not the expected type and check-all-casts is enabled.

Use IntoIterator::into_iter to iterate expecting all types match.

Important traits for TryIntoIter<T>
pub fn try_into_iter(self) -> TryIntoIter<T>[src]

Iterates over elements, consuming self and returning a result if any are not the expected type.

Use IntoIterator::into_iter to iterate expecting all types match.

pub fn try_local(&self) -> Result<Vec<T>, ConversionError>[src]

Turns this remote JS array into a local Vec, returning an error if any elements are not the expected type and check-all-casts is enabled.

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

Turns this remote JS array into a local Vec, panicking if any elements are not the expected type and check-all-casts is enabled.

Trait Implementations

impl<T> FromExpectedType<Array> for JsVec<T> where
    T: InstanceOf
[src]

impl<T> FromExpectedType<Reference> for JsVec<T> where
    T: InstanceOf
[src]

impl<T> AsRef<Array> for JsVec<T>[src]

impl<T> AsRef<Reference> for JsVec<T>[src]

impl<T> IntoIterator for JsVec<T> where
    T: FromExpectedType<Value>, 
[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<'a, T> IntoIterator for &'a JsVec<T> where
    T: FromExpectedType<Value>, 
[src]

type Item = 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> From<JsVec<T>> for Array[src]

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

impl<'a, T> From<&'a [T]> for JsVec<T> where
    T: JsSerialize
[src]

impl<'a, T> From<&'a mut [T]> for JsVec<T> where
    T: JsSerialize
[src]

impl<'a, T> From<&'a Vec<T>> for JsVec<T> where
    T: JsSerialize
[src]

impl<'a, T> From<&'a mut Vec<T>> for JsVec<T> where
    T: JsSerialize
[src]

impl<T> From<Vec<T>> for JsVec<T> where
    T: JsSerialize
[src]

impl<T> TryInto<Vec<T>> for JsVec<T> where
    T: TryFrom<Value, Error = ConversionError>, 
[src]

type Error = ConversionError

The type returned in the event of a conversion error.

impl<T> InstanceOf for JsVec<T> where
    T: InstanceOf
[src]

impl<T> TryFrom<JsVec<T>> for Array[src]

type Error = ConversionError

The type returned in the event of a conversion error.

impl<T> TryFrom<JsVec<T>> for Reference[src]

type Error = ConversionError

The type returned in the event of a conversion error.

impl<T> TryFrom<Array> for JsVec<T> where
    T: InstanceOf
[src]

type Error = ConversionError

The type returned in the event of a conversion error.

impl<T> TryFrom<Reference> for JsVec<T> where
    T: InstanceOf
[src]

type Error = ConversionError

The type returned in the event of a conversion error.

impl<T> TryFrom<Value> for JsVec<T> where
    T: InstanceOf
[src]

type Error = ConversionError

The type returned in the event of a conversion error.

impl<T> ReferenceType for JsVec<T> where
    T: InstanceOf
[src]

Auto Trait Implementations

impl<T> Sync for JsVec<T> where
    T: Sync

impl<T> Send for JsVec<T> where
    T: Send

impl<T> Unpin for JsVec<T> where
    T: Unpin

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

impl<T> UnwindSafe for JsVec<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> FromExpectedType<Value> for T where
    T: FromExpectedType<Reference>, 
[src]

impl<T, U> IntoExpectedType<U> for T where
    U: FromExpectedType<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

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

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

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<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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

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.