Struct sandkiste_lua::v5_3::LuaDatum
source · [−]pub struct LuaDatum<'a, 'b, 'c>(_);
Expand description
Lua value (of any supported type)
A LuaDatum
is used to pass values from Rust to Lua and vice versa. It can
contain values of several types (dynamic typing). See module
sandkiste::types
for more information.
Lifetimes
Lifetime argument 'a
corresponds to the lifetime argument 'a
of
LuaMachine
. It is a lower bound for closures passed to the Lua machine.
Lifetime argument 'b
corresponds to the lifetime of the shared reference
to the LuaMachine
being worked with.
Lifetime argument 'c
is often 'static
but can be a shorter lifetime for
temporary LuaDatum
s created from a &'c str
reference, for example.
Trait Implementations
sourceimpl<'a, 'b, 'c> MaybeArray for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeArray for LuaDatum<'a, 'b, 'c>
sourcefn try_array(&self) -> Result<(), DatumViewError>
fn try_array(&self) -> Result<(), DatumViewError>
Return error unless datum is an array-like type
sourcefn array_len(&self) -> Result<usize, MachineError>
fn array_len(&self) -> Result<usize, MachineError>
Array length
sourcefn array_get(
&self,
index: usize
) -> Result<LuaDatum<'a, 'b, 'static>, MachineError>
fn array_get(
&self,
index: usize
) -> Result<LuaDatum<'a, 'b, 'static>, MachineError>
Retrieve element at index Read more
sourcefn array_set<'d>(
&self,
index: usize,
element: LuaDatum<'a, 'b, 'd>
) -> Result<(), MachineError>
fn array_set<'d>(
&self,
index: usize,
element: LuaDatum<'a, 'b, 'd>
) -> Result<(), MachineError>
Set element at index Read more
sourcefn array_push<'d>(
&self,
element: LuaDatum<'a, 'b, 'd>
) -> Result<(), MachineError>
fn array_push<'d>(
&self,
element: LuaDatum<'a, 'b, 'd>
) -> Result<(), MachineError>
Push element to array
sourcefn array_truncate(&self, len: usize) -> Result<(), MachineError>
fn array_truncate(&self, len: usize) -> Result<(), MachineError>
Truncate array
sourcefn array_to_iter(&'b self) -> Result<ArrayIter<'b, Self>, MachineError>
fn array_to_iter(&'b self) -> Result<ArrayIter<'b, Self>, MachineError>
Create Iterator
over entries of array-like datum
sourcefn array_to_vec(
&self,
maxlen: usize
) -> Result<Vec<Self::Element<'static>, Global>, MachineError>
fn array_to_vec(
&self,
maxlen: usize
) -> Result<Vec<Self::Element<'static>, Global>, MachineError>
Create Vec
from array-like datum
sourceimpl<'a, 'b, 'c> MaybeBinary<'c> for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeBinary<'c> for LuaDatum<'a, 'b, 'c>
sourcefn try_as_bin(&self) -> Result<&[u8], DatumViewError>
fn try_as_bin(&self) -> Result<&[u8], DatumViewError>
Try to interpret datum as binary (8 bit) string
sourcefn try_into_binary(self) -> Result<Vec<u8, Global>, DatumConversionError<Self>>
fn try_into_binary(self) -> Result<Vec<u8, Global>, DatumConversionError<Self>>
Try to convert datum into binary (8 bit) string
sourceimpl<'a, 'b, 'c> MaybeBoolean for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeBoolean for LuaDatum<'a, 'b, 'c>
sourcefn try_as_bool(&self) -> Result<bool, DatumViewError>
fn try_as_bool(&self) -> Result<bool, DatumViewError>
Try to interpret datum as boolean value
sourceimpl<'a, 'b, 'c> MaybeFloat for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeFloat for LuaDatum<'a, 'b, 'c>
sourcefn try_as_f64(&self) -> Result<f64, DatumViewError>
fn try_as_f64(&self) -> Result<f64, DatumViewError>
Try to interpret datum as f64
sourcefn try_as_f32(&self) -> Result<f32, DatumViewError>
fn try_as_f32(&self) -> Result<f32, DatumViewError>
Try to interpret datum as f64
sourceimpl<'a, 'b, 'c> MaybeFunction for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeFunction for LuaDatum<'a, 'b, 'c>
type Function = LuaFunction<'a, 'b>
type Function = LuaFunction<'a, 'b>
Function type (see Machine::Function
)
sourcefn from_function(value: LuaFunction<'a, 'b>) -> Self
fn from_function(value: LuaFunction<'a, 'b>) -> Self
Convert from Machine::Function
sourcefn try_as_function(&self) -> Result<&LuaFunction<'a, 'b>, DatumViewError>
fn try_as_function(&self) -> Result<&LuaFunction<'a, 'b>, DatumViewError>
Try to interpret datum as function
type FunctionRef<'a>
where
<Self::FunctionRef<'a> as Deref>::Target == Self::Function = &'a Self::Function
type FunctionRef<'a>
where
<Self::FunctionRef<'a> as Deref>::Target == Self::Function = &'a Self::Function
Reference or smart pointer to MaybeFunction::Function
as returned
by try_as_function
Read more
sourceimpl<'a, 'b, 'c> MaybeInteger for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeInteger for LuaDatum<'a, 'b, 'c>
sourcefn try_as_i64(&self) -> Result<i64, DatumViewError>
fn try_as_i64(&self) -> Result<i64, DatumViewError>
Try to interpret datum as i64
sourcefn try_as_u64(&self) -> Result<u64, DatumViewError>
fn try_as_u64(&self) -> Result<u64, DatumViewError>
Try to interpret datum as u64
sourcefn try_as_i32(&self) -> Result<i32, DatumViewError>
fn try_as_i32(&self) -> Result<i32, DatumViewError>
Try to interpret datum as i32
sourcefn try_as_u32(&self) -> Result<u32, DatumViewError>
fn try_as_u32(&self) -> Result<u32, DatumViewError>
Try to interpret datum as u32
sourcefn try_as_i16(&self) -> Result<i16, DatumViewError>
fn try_as_i16(&self) -> Result<i16, DatumViewError>
Try to interpret datum as i16
sourcefn try_as_u16(&self) -> Result<u16, DatumViewError>
fn try_as_u16(&self) -> Result<u16, DatumViewError>
Try to interpret datum as u16
sourcefn try_as_i8(&self) -> Result<i8, DatumViewError>
fn try_as_i8(&self) -> Result<i8, DatumViewError>
Try to interpret datum as i8
sourcefn try_as_u8(&self) -> Result<u8, DatumViewError>
fn try_as_u8(&self) -> Result<u8, DatumViewError>
Try to interpret datum as u8
sourcefn try_as_isize(&self) -> Result<usize, DatumViewError>
fn try_as_isize(&self) -> Result<usize, DatumViewError>
Try to interpret datum as isize
sourcefn try_as_usize(&self) -> Result<usize, DatumViewError>
fn try_as_usize(&self) -> Result<usize, DatumViewError>
Try to interpret datum as usize
sourceimpl<'a, 'b, 'c> MaybeOpaque for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeOpaque for LuaDatum<'a, 'b, 'c>
type Opaque = LuaReference<'a, 'b>
type Opaque = LuaReference<'a, 'b>
Type used to represent reference to an opaque datum
sourcefn try_as_opaque(&self) -> Result<&LuaReference<'a, 'b>, DatumViewError>
fn try_as_opaque(&self) -> Result<&LuaReference<'a, 'b>, DatumViewError>
Try to interpret datum as reference to opaque datum
type OpaqueRef<'a>
where
<Self::OpaqueRef<'a> as Deref>::Target == Self::Opaque = &'a Self::Opaque
type OpaqueRef<'a>
where
<Self::OpaqueRef<'a> as Deref>::Target == Self::Opaque = &'a Self::Opaque
Reference or smart pointer to MaybeOpaque::Opaque
as returned by
try_as_opaque
Read more
sourceimpl<'a, 'b, 'c> MaybeString<'c> for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeString<'c> for LuaDatum<'a, 'b, 'c>
sourcefn try_as_str(&self) -> Result<&str, DatumViewError>
fn try_as_str(&self) -> Result<&str, DatumViewError>
Try to interpret datum as Unicode string
sourcefn try_into_string(self) -> Result<String, DatumConversionError<Self>>
fn try_into_string(self) -> Result<String, DatumConversionError<Self>>
Try to convert datum into Unicode string
sourceimpl<'a, 'b, 'c> MaybeStringMap for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeStringMap for LuaDatum<'a, 'b, 'c>
sourcefn try_string_map(&self) -> Result<(), DatumViewError>
fn try_string_map(&self) -> Result<(), DatumViewError>
Return error unless datum is a string-map-like type
sourcefn string_map_get(
&self,
key: &str
) -> Result<LuaDatum<'a, 'b, 'static>, MachineError>
fn string_map_get(
&self,
key: &str
) -> Result<LuaDatum<'a, 'b, 'static>, MachineError>
Get entry from string map
sourcefn string_map_set<'d, 'e>(
&self,
key: &'d str,
value: LuaDatum<'a, 'b, 'e>
) -> Result<(), MachineError>
fn string_map_set<'d, 'e>(
&self,
key: &'d str,
value: LuaDatum<'a, 'b, 'e>
) -> Result<(), MachineError>
Set entry in string map
Auto Trait Implementations
impl<'a, 'b, 'c> RefUnwindSafe for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> !Send for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> !Sync for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> Unpin for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> UnwindSafe for LuaDatum<'a, 'b, 'c>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more