[][src]Struct stdweb::UnsafeTypedArray

pub struct UnsafeTypedArray<'a, T: 'a>(_);

A wrapper type for exposing raw Rust slices as TypedArrays at zero cost without copying.

The only thing you can do with this is to pass it to the js! macro.

Using this is highly unsafe! After you pass it to the js! macro you must use it before triggering any Rust code whatsoever, either directly or indirectly. Breaking this rule will result in undefined behavior!

Examples

let slice: &[u8] = &[1, 2, 3];
let slice = unsafe { UnsafeTypedArray::new( slice ) };
js!(
    var slice = @{slice};
    // `slice` is an Uint8Array
    var sum = slice[0] + slice[1] + slice[2];
    console.log( "Sum of array elements: ", sum );
);

Methods

impl<'a, T> UnsafeTypedArray<'a, T>[src]

pub unsafe fn new(slice: &'a [T]) -> Self[src]

Creates a new UnsafeTypedArray.

Even though this function is marked as unsafe the unsafely only comes into play after you pass it to the js! macro.

Trait Implementations

impl<'r> JsSerialize for UnsafeTypedArray<'r, u8>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, i8>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, u16>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, i16>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, u32>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, i32>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, f32>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, f64>[src]

impl<'a, T> Debug for UnsafeTypedArray<'a, T>[src]

Auto Trait Implementations

impl<'a, T> Send for UnsafeTypedArray<'a, T> where
    T: Sync

impl<'a, T> Sync for UnsafeTypedArray<'a, T> where
    T: Sync

Blanket Implementations

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

impl<T> From for T[src]

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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