Struct gluon_vm::api::Opaque [−][src]
pub struct Opaque<T, V>(_, _)
where
V: ?Sized;
Expand description
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.
Implementations
Trait Implementations
impl<T, V> PartialOrd<Opaque<T, V>> for Opaque<T, V> where
T: AsValueRef,
Self: Borrow<V>,
V: ?Sized + PartialOrd,
impl<T, V> PartialOrd<Opaque<T, V>> for Opaque<T, V> where
T: AsValueRef,
Self: Borrow<V>,
V: ?Sized + PartialOrd,
This method returns an ordering between self
and other
values if one exists. Read more
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
Pushes self
to stack
. If the call is successful a single element should have been added
to the stack and Ok(())
should be returned. If the call is unsuccessful Status:Error
should be returned and the stack should be left intact Read more
fn serialize_state<S>(
&self,
serializer: S,
_thread: &Thread
) -> StdResult<S::Ok, S::Error> where
S: Serializer,
fn serialize_state<S>(
&self,
serializer: S,
_thread: &Thread
) -> StdResult<S::Ok, S::Error> where
S: Serializer,
Serializes self
How many extra arguments a function returning this type requires. Used for abstract types which when used in return position should act like they still need more arguments before they are called Read more
Auto Trait Implementations
impl<T, V: ?Sized> RefUnwindSafe for Opaque<T, V> where
T: RefUnwindSafe,
V: RefUnwindSafe,
impl<T, V: ?Sized> UnwindSafe for Opaque<T, V> where
T: UnwindSafe,
V: UnwindSafe,
Blanket Implementations
Pushes self
to stack
. If the call is successful a single element should have been added
to the stack and Ok(())
should be returned. If the call is unsuccessful Status:Error
should be returned and the stack should be left intact. Read more
fn async_status_push(
self,
context: &mut ActiveThread<'vm>,
lock: Lock,
frame_index: VmIndex
) -> Status where
Self: Sized,
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Compare self to key
and return true
if they are equal.