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§
source§impl<'a, 'b, 'c> From<LuaFunction<'a, 'b>> for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> From<LuaFunction<'a, 'b>> for LuaDatum<'a, 'b, 'c>
source§fn from(value: LuaFunction<'a, 'b>) -> Self
fn from(value: LuaFunction<'a, 'b>) -> Self
Converts to this type from the input type.
source§impl<'a, 'b, 'c> MaybeArray for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeArray for LuaDatum<'a, 'b, 'c>
source§fn try_array(&self) -> Result<(), TypeMismatch>
fn try_array(&self) -> Result<(), TypeMismatch>
Return error unless datum is an array-like type
source§fn 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
source§fn 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
source§fn 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
source§fn array_truncate(&self, len: usize) -> Result<(), MachineError>
fn array_truncate(&self, len: usize) -> Result<(), MachineError>
Truncate array
source§fn array_to_iter<'b>(&'b self) -> Result<ArrayIter<'b, Self>, MachineError>
fn array_to_iter<'b>(&'b self) -> Result<ArrayIter<'b, Self>, MachineError>
Create
Iterator
over entries of array-like datumsource§fn 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 datumsource§impl<'a, 'b, 'c> MaybeBinary<'c> for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeBinary<'c> for LuaDatum<'a, 'b, 'c>
source§fn try_as_bin(&self) -> Result<&[u8], TypeMismatch>
fn try_as_bin(&self) -> Result<&[u8], TypeMismatch>
Try to interpret datum as binary (8 bit) string
source§fn try_into_binary(self) -> Result<Vec<u8, Global>, TypeMismatch>
fn try_into_binary(self) -> Result<Vec<u8, Global>, TypeMismatch>
Try to convert datum into binary (8 bit) string
source§impl<'a, 'b, 'c> MaybeBoolean for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeBoolean for LuaDatum<'a, 'b, 'c>
source§fn try_as_bool(&self) -> Result<bool, TypeMismatch>
fn try_as_bool(&self) -> Result<bool, TypeMismatch>
Try to interpret datum as boolean value
source§impl<'a, 'b, 'c> MaybeFloat for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeFloat for LuaDatum<'a, 'b, 'c>
source§fn try_as_f64(&self) -> Result<f64, TypeMismatch>
fn try_as_f64(&self) -> Result<f64, TypeMismatch>
Try to interpret datum as
f64
source§fn try_as_f32(&self) -> Result<f32, TypeMismatch>
fn try_as_f32(&self) -> Result<f32, TypeMismatch>
Try to interpret datum as
f64
source§impl<'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
)§type FunctionRef<'d>
where
Self: 'd = &'d LuaFunction<'a, 'b>
type FunctionRef<'d> where Self: 'd = &'d LuaFunction<'a, 'b>
Reference or smart pointer to
MaybeFunction::Function
as returned
by try_as_function
source§fn try_as_function(&self) -> Result<&LuaFunction<'a, 'b>, TypeMismatch>
fn try_as_function(&self) -> Result<&LuaFunction<'a, 'b>, TypeMismatch>
Try to interpret datum as function
source§impl<'a, 'b, 'c> MaybeInteger for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeInteger for LuaDatum<'a, 'b, 'c>
source§fn try_as_i64(&self) -> Result<i64, TypeMismatch>
fn try_as_i64(&self) -> Result<i64, TypeMismatch>
Try to interpret datum as
i64
source§fn try_as_u64(&self) -> Result<u64, TypeMismatch>
fn try_as_u64(&self) -> Result<u64, TypeMismatch>
Try to interpret datum as
u64
source§fn try_as_i32(&self) -> Result<i32, TypeMismatch>
fn try_as_i32(&self) -> Result<i32, TypeMismatch>
Try to interpret datum as
i32
source§fn try_as_u32(&self) -> Result<u32, TypeMismatch>
fn try_as_u32(&self) -> Result<u32, TypeMismatch>
Try to interpret datum as
u32
source§fn try_as_i16(&self) -> Result<i16, TypeMismatch>
fn try_as_i16(&self) -> Result<i16, TypeMismatch>
Try to interpret datum as
i16
source§fn try_as_u16(&self) -> Result<u16, TypeMismatch>
fn try_as_u16(&self) -> Result<u16, TypeMismatch>
Try to interpret datum as
u16
source§fn try_as_isize(&self) -> Result<usize, TypeMismatch>
fn try_as_isize(&self) -> Result<usize, TypeMismatch>
Try to interpret datum as
isize
source§fn try_as_usize(&self) -> Result<usize, TypeMismatch>
fn try_as_usize(&self) -> Result<usize, TypeMismatch>
Try to interpret datum as
usize
source§impl<'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
§type OpaqueRef<'d>
where
Self: 'd = &'d LuaReference<'a, 'b>
type OpaqueRef<'d> where Self: 'd = &'d LuaReference<'a, 'b>
Reference or smart pointer to
MaybeOpaque::Opaque
as returned by
try_as_opaque
source§fn try_as_opaque(&self) -> Result<&LuaReference<'a, 'b>, TypeMismatch>
fn try_as_opaque(&self) -> Result<&LuaReference<'a, 'b>, TypeMismatch>
Try to interpret datum as reference to opaque datum
source§fn try_into_opaque(self) -> Result<Self::Opaque, TypeMismatch>
fn try_into_opaque(self) -> Result<Self::Opaque, TypeMismatch>
Try to convert datum into opaque datum
source§impl<'a, 'b, 'c> MaybeString<'c> for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeString<'c> for LuaDatum<'a, 'b, 'c>
source§fn try_as_str(&self) -> Result<&str, TypeMismatch>
fn try_as_str(&self) -> Result<&str, TypeMismatch>
Try to interpret datum as Unicode string
source§fn try_into_string(self) -> Result<String, TypeMismatch>
fn try_into_string(self) -> Result<String, TypeMismatch>
Try to convert datum into Unicode string
source§impl<'a, 'b, 'c> MaybeStringMap for LuaDatum<'a, 'b, 'c>
impl<'a, 'b, 'c> MaybeStringMap for LuaDatum<'a, 'b, 'c>
source§fn try_string_map(&self) -> Result<(), TypeMismatch>
fn try_string_map(&self) -> Result<(), TypeMismatch>
Return error unless datum is a string-map-like type
source§fn 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
source§fn 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