[][src]Struct gluon_vm::api::Opaque

pub struct Opaque<T, V>(_, _)
where
    V: ?Sized
;

Type implementing both Pushable and Getable of values of V regardless of wheter V implements the traits. The actual value, V is only accessible directly either by Deref if it is Userdata or a string or by the to_value method if it implements Getable.

When the value is not accessible the value can only be transferred back into gluon again without inspecting the value itself two different threads.

Methods

impl<T, V> Opaque<T, V> where
    V: ?Sized
[src]

impl<'s, 'value, T, V> Opaque<T, V> where
    T: AsVariant<'s, 'value>,
    V: ?Sized
[src]

Unsafe as Value are not rooted

impl<'s, 'value, T, V> Opaque<T, [V]> where
    T: AsVariant<'s, 'value>, 
[src]

Trait Implementations

impl<T, V: ?Sized> VmType for Opaque<T, V> where
    V: VmType,
    V::Type: Sized
[src]

A version of Self which implements Any allowing a TypeId to be retrieved

impl<'s, 'value, 'vm, T, V: ?Sized> Pushable<'vm> for Opaque<T, V> where
    T: Pushable<'vm>,
    V: VmType,
    V::Type: Sized
[src]

impl<'vm, 'value, V> Getable<'vm, 'value> for Opaque<Variants<'value>, V> where
    V: ?Sized
[src]

impl<T, V: ?Sized> Ord for Opaque<T, V> where
    T: AsValueRef,
    Self: Borrow<V>,
    V: Ord
[src]

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

impl<T, V: ?Sized> PartialEq<Opaque<T, V>> for Opaque<T, V> where
    T: AsValueRef,
    Self: Borrow<V>,
    V: PartialEq
[src]

This method tests for !=.

impl<T, V> Clone for Opaque<T, V> where
    T: Clone
[src]

Performs copy-assignment from source. Read more

impl<'a, T, V> IntoIterator for &'a Opaque<T, [V]> where
    T: AsVariant<'a, 'a>, 
[src]

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

impl<T, V: ?Sized> Eq for Opaque<T, V> where
    T: AsValueRef,
    Self: Borrow<V>,
    V: Eq
[src]

impl<T, V: ?Sized> PartialOrd<Opaque<T, V>> for Opaque<T, V> where
    T: AsValueRef,
    Self: Borrow<V>,
    V: PartialOrd
[src]

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<T, V> AsRef<V> for Opaque<T, V> where
    V: ?Sized,
    Self: Deref<Target = V>, 
[src]

impl<T, V> Debug for Opaque<T, V> where
    T: Debug
[src]

impl<T, V> Deref for Opaque<T, V> where
    T: AsValueRef,
    V: Userdata
[src]

The resulting type after dereferencing.

impl<T, V> Deref for Opaque<T, [V]> where
    T: AsValueRef,
    V: ArrayRepr + Copy
[src]

The resulting type after dereferencing.

impl<T> Deref for Opaque<T, str> where
    T: AsValueRef, 
[src]

The resulting type after dereferencing.

impl<T, V> Borrow<V> for Opaque<T, V> where
    V: ?Sized,
    Self: Deref<Target = V>, 
[src]

Auto Trait Implementations

impl<T, V: ?Sized> Send for Opaque<T, V> where
    T: Send,
    V: Send

impl<T, V: ?Sized> Sync for Opaque<T, V> where
    T: Sync,
    V: Sync

Blanket Implementations

impl<'vm, T> AsyncPushable for T where
    T: Pushable<'vm>, 
[src]

impl<'vm, T> Pushable for T where
    T: Userdata
[src]

impl<D, T> FromPtr for T
[src]

impl<T> From for T
[src]

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

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

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

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

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

🔬 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<Choices> CoproductSubsetter for Choices
[src]

impl<Source> Sculptor for Source
[src]

impl<T, U, I> LiftInto for T where
    U: LiftFrom<T, I>, 
[src]

impl<T> Any for T where
    T: Any
[src]