Struct tlua::IndexableRW

source ·
pub struct IndexableRW<L> { /* private fields */ }
Expand description

An opaque value on lua stack that can be indexed immutably as well as mutably. Can represent a lua table, a lua table with a __index and __newindex metamethods or other indexable lua value.

Use this type when reading return values from lua functions or getting lua function from tables.

Trait Implementations§

source§

impl<L> AsLua for IndexableRW<L>
where L: AsLua,

source§

fn as_lua(&self) -> LuaState

source§

fn try_push<T>( self, v: T ) -> Result<PushGuard<Self>, (<T as PushInto<Self>>::Err, Self)>
where Self: Sized, T: PushInto<Self>,

Try to push v onto the lua stack. Read more
source§

fn push<T>(self, v: T) -> PushGuard<Self>
where Self: Sized, T: PushInto<Self>, <T as PushInto<Self>>::Err: Into<Void>,

Push v onto the lua stack. Read more
source§

fn try_push_one<T>( self, v: T ) -> Result<PushGuard<Self>, (<T as PushInto<Self>>::Err, Self)>
where Self: Sized, T: PushOneInto<Self>,

Try to push v onto the lua stack. Read more
source§

fn push_one<T>(self, v: T) -> PushGuard<Self>
where Self: Sized, T: PushOneInto<Self>, <T as PushInto<Self>>::Err: Into<Void>,

Push v onto the lua stack. Read more
source§

fn push_iter<I>(self, iterator: I) -> Result<PushGuard<Self>, Self>
where Self: Sized, I: Iterator, <I as Iterator>::Item: PushInto<LuaState>, <<I as Iterator>::Item as PushInto<LuaState>>::Err: Into<Void>,

Push iterator onto the lua stack as a lua table. Read more
source§

fn try_push_iter<I>( self, iterator: I ) -> Result<PushGuard<Self>, (PushIterErrorOf<I>, Self)>
where Self: Sized, I: Iterator, <I as Iterator>::Item: PushInto<LuaState>,

Push iterator onto the lua stack as a lua table. Read more
source§

fn read<T>(self) -> ReadResult<T, Self>
where Self: Sized, T: LuaRead<Self>,

source§

fn read_at<T>(self, index: i32) -> ReadResult<T, Self>
where Self: Sized, T: LuaRead<Self>,

source§

fn read_at_nz<T>(self, index: NonZeroI32) -> ReadResult<T, Self>
where Self: Sized, T: LuaRead<Self>,

source§

fn pcall<F, R>(&self, f: F) -> Result<R, LuaError>
where F: FnOnce(StaticLua) -> R,

Call a rust function in protected mode. If a lua error is thrown during execution of f the function will return a LuaError. Read more
source§

impl<L> AsRef<Object<L>> for IndexableRW<L>
where L: AsLua,

source§

fn as_ref(&self) -> &Object<L>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<L: Debug> Debug for IndexableRW<L>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<L> From<IndexableRW<L>> for Object<L>
where L: AsLua,

source§

fn from(o: IndexableRW<L>) -> Self

Converts to this type from the input type.
source§

impl<L> Index<L> for IndexableRW<L>
where L: AsLua,

source§

fn get<'lua, K, R>(&'lua self, key: K) -> Option<R>
where L: 'lua, K: PushOneInto<LuaState>, K::Err: Into<Void>, R: LuaRead<PushGuard<&'lua L>>,

Loads a value from the table (or other object using the __index metamethod) given its index. Read more
source§

fn try_get<'lua, K, R>(&'lua self, key: K) -> Result<R, LuaError>
where L: 'lua, K: PushOneInto<LuaState>, K::Err: Into<Void>, R: LuaRead<PushGuard<&'lua L>>,

Loads a value from the table (or other object using the __index metamethod) given its index. Read more
source§

fn into_get<K, R>(self, key: K) -> Result<R, Self>
where Self: AsLua + Sized, K: PushOneInto<LuaState>, K::Err: Into<Void>, R: LuaRead<PushGuard<Self>>,

Loads a value in the table (or other object using the __index metamethod) given its index, with the result capturing the table by value. Read more
source§

fn try_into_get<K, R>(self, key: K) -> Result<R, (Self, LuaError)>
where Self: AsLua + Sized, K: PushOneInto<LuaState>, K::Err: Into<Void>, R: LuaRead<PushGuard<Self>>,

Loads a value in the table (or other object using the __index metamethod) given its index, with the result capturing the table by value. Read more
source§

fn call_method<'lua, A, R>( &'lua self, name: &str, args: A ) -> Result<R, MethodCallError<A::Err>>
where L: 'lua, Self: Push<LuaState>, Self::Err: Into<Void>, A: PushInto<LuaState>, R: LuaRead<PushGuard<Callable<PushGuard<&'lua L>>>>,

Calls the method called name of the table (or other indexable object) with the provided args. Read more
source§

impl<L> LuaRead<L> for IndexableRW<L>
where L: AsLua,

source§

fn lua_read_at_position(lua: L, index: NonZeroI32) -> ReadResult<Self, L>

Reads the data from Lua at a given position.
source§

fn n_values_expected() -> i32

source§

fn lua_read(lua: L) -> ReadResult<Self, L>

Reads the data from Lua.
source§

fn lua_read_at_maybe_zero_position(lua: L, index: i32) -> ReadResult<Self, L>
where L: AsLua,

source§

impl<L> NewIndex<L> for IndexableRW<L>
where L: AsLua,

source§

fn set<K, V>(&self, key: K, value: V)

Inserts or modifies a value of the table (or other object using the __index or __newindex metamethod) given its index. Read more
source§

fn try_set<K, V>(&self, key: K, value: V) -> Result<(), LuaError>

Inserts or modifies a value of the table (or other object using the __index or __newindex metamethod) given its index. Read more
source§

fn checked_set<K, V>( &self, key: K, value: V ) -> Result<(), CheckedSetError<K::Err, V::Err>>

Inserts or modifies a value of the table (or other object using the __newindex metamethod) given its index. Read more
source§

fn try_checked_set<K, V>( &self, key: K, value: V ) -> Result<(), Result<CheckedSetError<K::Err, V::Err>, LuaError>>

Inserts or modifies a value of the table (or other object using the __newindex metamethod) given its index. Read more
source§

impl<L, T> Push<L> for IndexableRW<T>
where L: AsLua, T: AsLua,

§

type Err = Void

Error that can happen when pushing a value.
source§

fn push_to_lua(&self, lua: L) -> PushResult<L, Self>

Pushes the value on the top of the stack. Read more
source§

fn push_no_err(&self, lua: L) -> PushGuard<L>
where <Self as Push<L>>::Err: Into<Void>,

Same as push_to_lua but can only succeed and is only available if Err implements Into<Void>.
source§

impl<L> TryFrom<Object<L>> for IndexableRW<L>
where L: AsLua,

§

type Error = Object<L>

The type returned in the event of a conversion error.
source§

fn try_from(o: Object<L>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<L, T> PushOne<L> for IndexableRW<T>
where L: AsLua, T: AsLua,

Auto Trait Implementations§

§

impl<L> RefUnwindSafe for IndexableRW<L>
where L: RefUnwindSafe,

§

impl<L> Send for IndexableRW<L>
where L: Send,

§

impl<L> Sync for IndexableRW<L>
where L: Sync,

§

impl<L> Unpin for IndexableRW<L>
where L: Unpin,

§

impl<L> UnwindSafe for IndexableRW<L>
where L: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.