[−][src]Trait artichoke_backend::extn::prelude::BoxUnboxVmValue
Associated Types
Loading content...Associated Constants
Loading content...Required methods
unsafe fn unbox_from_value<'a>(
value: &'a mut Value,
interp: &mut Artichoke
) -> Result<UnboxedValueGuard<'a, Self::Guarded>, Error>
[src]
value: &'a mut Value,
interp: &mut Artichoke
) -> Result<UnboxedValueGuard<'a, Self::Guarded>, Error>
Safety
Implementations may return owned values. These values must not outlive
the underlying mrb_value
, which may be garbage collected by mruby.
The values returned by this method should not be stored for more than the current FFI trampoline entrypoint.
fn alloc_value(
value: Self::Unboxed,
interp: &mut Artichoke
) -> Result<Value, Error>
[src]
value: Self::Unboxed,
interp: &mut Artichoke
) -> Result<Value, Error>
fn box_into_value(
value: Self::Unboxed,
into: Value,
interp: &mut Artichoke
) -> Result<Value, Error>
[src]
value: Self::Unboxed,
into: Value,
interp: &mut Artichoke
) -> Result<Value, Error>
fn free(data: *mut c_void)
[src]
Implementors
impl BoxUnboxVmValue for Array
[src]
type Unboxed = Self
type Guarded = Array
const RUBY_TYPE: &'static str
[src]
unsafe fn unbox_from_value<'a>(
value: &'a mut Value,
interp: &mut Artichoke
) -> Result<UnboxedValueGuard<'a, Self::Guarded>, Error>
[src]
value: &'a mut Value,
interp: &mut Artichoke
) -> Result<UnboxedValueGuard<'a, Self::Guarded>, Error>
fn alloc_value(
value: Self::Unboxed,
interp: &mut Artichoke
) -> Result<Value, Error>
[src]
value: Self::Unboxed,
interp: &mut Artichoke
) -> Result<Value, Error>
fn box_into_value(
value: Self::Unboxed,
into: Value,
interp: &mut Artichoke
) -> Result<Value, Error>
[src]
value: Self::Unboxed,
into: Value,
interp: &mut Artichoke
) -> Result<Value, Error>
fn free(data: *mut c_void)
[src]
impl BoxUnboxVmValue for Symbol
[src]
type Unboxed = Self
type Guarded = Immediate<Self::Unboxed>
const RUBY_TYPE: &'static str
[src]
unsafe fn unbox_from_value<'a>(
value: &'a mut Value,
interp: &mut Artichoke
) -> Result<UnboxedValueGuard<'a, Self::Guarded>, Error>
[src]
value: &'a mut Value,
interp: &mut Artichoke
) -> Result<UnboxedValueGuard<'a, Self::Guarded>, Error>
fn alloc_value(
value: Self::Unboxed,
interp: &mut Artichoke
) -> Result<Value, Error>
[src]
value: Self::Unboxed,
interp: &mut Artichoke
) -> Result<Value, Error>
fn box_into_value(
value: Self::Unboxed,
into: Value,
interp: &mut Artichoke
) -> Result<Value, Error>
[src]
value: Self::Unboxed,
into: Value,
interp: &mut Artichoke
) -> Result<Value, Error>
fn free(data: *mut c_void)
[src]
impl<T> BoxUnboxVmValue for T where
T: HeapAllocatedData + Sized + 'static,
[src]
T: HeapAllocatedData + Sized + 'static,
type Unboxed = Self
type Guarded = HeapAllocated<Self::Unboxed>
const RUBY_TYPE: &'static str
[src]
unsafe fn unbox_from_value<'a>(
value: &'a mut Value,
interp: &mut Artichoke
) -> Result<UnboxedValueGuard<'a, Self::Guarded>, Error>
[src]
value: &'a mut Value,
interp: &mut Artichoke
) -> Result<UnboxedValueGuard<'a, Self::Guarded>, Error>
fn alloc_value(
value: Self::Unboxed,
interp: &mut Artichoke
) -> Result<Value, Error>
[src]
value: Self::Unboxed,
interp: &mut Artichoke
) -> Result<Value, Error>
fn box_into_value(
value: Self::Unboxed,
into: Value,
interp: &mut Artichoke
) -> Result<Value, Error>
[src]
value: Self::Unboxed,
into: Value,
interp: &mut Artichoke
) -> Result<Value, Error>