Trait tlua::LuaRead

source ·
pub trait LuaRead<L>: Sized {
    // Required method
    fn lua_read_at_position(lua: L, index: NonZeroI32) -> ReadResult<Self, L>;

    // Provided methods
    fn n_values_expected() -> i32 { ... }
    fn lua_read(lua: L) -> ReadResult<Self, L> { ... }
    fn lua_read_at_maybe_zero_position(
        lua: L,
        index: i32
    ) -> ReadResult<Self, L>
       where L: AsLua { ... }
}
Expand description

Types that can be obtained from a Lua context.

Most types that implement Push also implement LuaRead, but this is not always the case (for example &'static str implements Push but not LuaRead).

Required Methods§

source

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

Reads the data from Lua at a given position.

Provided Methods§

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,

Implementations on Foreign Types§

source§

impl<LU, M> LuaRead<LU> for (M,)where LU: AsLua, M: LuaRead<LU>,

source§

impl<L> LuaRead<L> for f32where L: AsLua,

source§

impl<L> LuaRead<L> for Stringwhere L: AsLua,

source§

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

source§

impl<L> LuaRead<L> for CStringwhere L: AsLua,

source§

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

source§

impl<L> LuaRead<L> for u64where L: AsLua,

source§

impl<LU, L, M> LuaRead<LU> for (L, M)where LU: AsLua, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<LU, J, K, L, M> LuaRead<LU> for (J, K, L, M)where LU: AsLua, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<L> LuaRead<L> for i8where L: AsLua,

source§

impl<L> LuaRead<L> for i32where L: AsLua,

source§

impl<L> LuaRead<L> for i16where L: AsLua,

source§

impl<L, A, B> LuaRead<L> for Result<A, B>where L: AsLua, A: for<'a> LuaRead<&'a L>, B: for<'b> LuaRead<&'b L>,

source§

fn lua_read_at_position( lua: L, index: NonZeroI32 ) -> ReadResult<Result<A, B>, L>

source§

impl<LU, D, E, F, G, H, I, J, K, L, M> LuaRead<LU> for (D, E, F, G, H, I, J, K, L, M)where LU: AsLua, D: for<'a> LuaRead<&'a LU>, E: for<'a> LuaRead<&'a LU>, F: for<'a> LuaRead<&'a LU>, G: for<'a> LuaRead<&'a LU>, H: for<'a> LuaRead<&'a LU>, I: for<'a> LuaRead<&'a LU>, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<L> LuaRead<L> for ()where L: AsLua,

source§

fn lua_read_at_position(_lua: L, _index: NonZeroI32) -> ReadResult<Self, L>

source§

fn lua_read_at_maybe_zero_position(_lua: L, _index: i32) -> ReadResult<Self, L>

source§

impl<LU, A, B, C, D, E, F, G, H, I, J, K, L, M> LuaRead<LU> for (A, B, C, D, E, F, G, H, I, J, K, L, M)where LU: AsLua, A: for<'a> LuaRead<&'a LU>, B: for<'a> LuaRead<&'a LU>, C: for<'a> LuaRead<&'a LU>, D: for<'a> LuaRead<&'a LU>, E: for<'a> LuaRead<&'a LU>, F: for<'a> LuaRead<&'a LU>, G: for<'a> LuaRead<&'a LU>, H: for<'a> LuaRead<&'a LU>, I: for<'a> LuaRead<&'a LU>, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<LU, H, I, J, K, L, M> LuaRead<LU> for (H, I, J, K, L, M)where LU: AsLua, H: for<'a> LuaRead<&'a LU>, I: for<'a> LuaRead<&'a LU>, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<LU, F, G, H, I, J, K, L, M> LuaRead<LU> for (F, G, H, I, J, K, L, M)where LU: AsLua, F: for<'a> LuaRead<&'a LU>, G: for<'a> LuaRead<&'a LU>, H: for<'a> LuaRead<&'a LU>, I: for<'a> LuaRead<&'a LU>, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<L> LuaRead<L> for usizewhere L: AsLua,

source§

impl<L> LuaRead<L> for f64where L: AsLua,

source§

impl<L, T> LuaRead<L> for Vec<T>where L: AsLua, T: for<'a> LuaRead<PushGuard<&'a LuaTable<L>>> + 'static,

source§

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

source§

impl<L, T> LuaRead<L> for Option<T>where L: AsLua, T: LuaRead<L>,

source§

impl<L> LuaRead<L> for i64where L: AsLua,

source§

impl<LU, C, D, E, F, G, H, I, J, K, L, M> LuaRead<LU> for (C, D, E, F, G, H, I, J, K, L, M)where LU: AsLua, C: for<'a> LuaRead<&'a LU>, D: for<'a> LuaRead<&'a LU>, E: for<'a> LuaRead<&'a LU>, F: for<'a> LuaRead<&'a LU>, G: for<'a> LuaRead<&'a LU>, H: for<'a> LuaRead<&'a LU>, I: for<'a> LuaRead<&'a LU>, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<L> LuaRead<L> for u16where L: AsLua,

source§

impl<LU, K, L, M> LuaRead<LU> for (K, L, M)where LU: AsLua, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<L, T, const N: usize> LuaRead<L> for [T; N]where L: AsLua, T: for<'a> LuaRead<PushGuard<&'a LuaTable<L>>> + 'static,

source§

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

source§

impl<L> LuaRead<L> for u8where L: AsLua,

source§

impl<L> LuaRead<L> for isizewhere L: AsLua,

source§

impl<LU, B, C, D, E, F, G, H, I, J, K, L, M> LuaRead<LU> for (B, C, D, E, F, G, H, I, J, K, L, M)where LU: AsLua, B: for<'a> LuaRead<&'a LU>, C: for<'a> LuaRead<&'a LU>, D: for<'a> LuaRead<&'a LU>, E: for<'a> LuaRead<&'a LU>, F: for<'a> LuaRead<&'a LU>, G: for<'a> LuaRead<&'a LU>, H: for<'a> LuaRead<&'a LU>, I: for<'a> LuaRead<&'a LU>, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<L> LuaRead<L> for boolwhere L: AsLua,

source§

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

source§

impl<LU, G, H, I, J, K, L, M> LuaRead<LU> for (G, H, I, J, K, L, M)where LU: AsLua, G: for<'a> LuaRead<&'a LU>, H: for<'a> LuaRead<&'a LU>, I: for<'a> LuaRead<&'a LU>, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<LU, E, F, G, H, I, J, K, L, M> LuaRead<LU> for (E, F, G, H, I, J, K, L, M)where LU: AsLua, E: for<'a> LuaRead<&'a LU>, F: for<'a> LuaRead<&'a LU>, G: for<'a> LuaRead<&'a LU>, H: for<'a> LuaRead<&'a LU>, I: for<'a> LuaRead<&'a LU>, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

source§

impl<L> LuaRead<L> for u32where L: AsLua,

source§

impl<L, K, V> LuaRead<L> for HashMap<K, V>where L: AsLua, K: 'static + Hash + Eq + for<'k> LuaRead<&'k LuaTable<L>>, V: 'static + for<'v> LuaRead<PushGuard<&'v LuaTable<L>>>,

HashMap

source§

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

source§

impl<LU, I, J, K, L, M> LuaRead<LU> for (I, J, K, L, M)where LU: AsLua, I: for<'a> LuaRead<&'a LU>, J: for<'a> LuaRead<&'a LU>, K: for<'a> LuaRead<&'a LU>, L: for<'a> LuaRead<&'a LU>, M: for<'a> LuaRead<&'a LU>,

Implementors§

source§

impl<'a, L> LuaRead<L> for StringInLua<'a, L>where L: 'a + AsLua,

source§

impl<L> LuaRead<L> for AnyLuaStringwhere L: AsLua,

source§

impl<L> LuaRead<L> for CDataOnStack<'_, L>where L: AsLua,

source§

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

source§

impl<L> LuaRead<L> for Falsewhere L: AsLua,

source§

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

source§

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

source§

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

source§

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

source§

impl<L> LuaRead<L> for Nilwhere L: AsLua,

source§

impl<L> LuaRead<L> for Nullwhere L: AsLua,

source§

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

source§

impl<L> LuaRead<L> for Strict<f32>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<f64>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<i8>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<i16>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<i32>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<i64>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<isize>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<u8>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<u16>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<u32>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<u64>where L: AsLua,

source§

impl<L> LuaRead<L> for Strict<usize>where L: AsLua,

source§

impl<L> LuaRead<L> for ToStringwhere L: AsLua,

source§

impl<L> LuaRead<L> for Truewhere L: AsLua,

source§

impl<L> LuaRead<L> for Typenamewhere L: AsLua,

source§

impl<L, T> LuaRead<L> for CData<T>where L: AsLua, T: AsCData,

source§

impl<L: AsLua> LuaRead<L> for AnyHashableLuaValue

source§

impl<L: AsLua> LuaRead<L> for AnyLuaValue

source§

impl<L: AsLua> LuaRead<L> for LuaState

source§

impl<L: AsLua> LuaRead<L> for StaticLua

source§

impl<LU, A, B, C, D, E, F, G, H, I, J, K, L, M> LuaRead<LU> for AsTable<(A, B, C, D, E, F, G, H, I, J, K, L, M)>where LU: AsLua, A: for<'a> LuaRead<PushGuard<&'a LU>>, B: for<'a> LuaRead<PushGuard<&'a LU>>, C: for<'a> LuaRead<PushGuard<&'a LU>>, D: for<'a> LuaRead<PushGuard<&'a LU>>, E: for<'a> LuaRead<PushGuard<&'a LU>>, F: for<'a> LuaRead<PushGuard<&'a LU>>, G: for<'a> LuaRead<PushGuard<&'a LU>>, H: for<'a> LuaRead<PushGuard<&'a LU>>, I: for<'a> LuaRead<PushGuard<&'a LU>>, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, B, C, D, E, F, G, H, I, J, K, L, M> LuaRead<LU> for AsTable<(B, C, D, E, F, G, H, I, J, K, L, M)>where LU: AsLua, B: for<'a> LuaRead<PushGuard<&'a LU>>, C: for<'a> LuaRead<PushGuard<&'a LU>>, D: for<'a> LuaRead<PushGuard<&'a LU>>, E: for<'a> LuaRead<PushGuard<&'a LU>>, F: for<'a> LuaRead<PushGuard<&'a LU>>, G: for<'a> LuaRead<PushGuard<&'a LU>>, H: for<'a> LuaRead<PushGuard<&'a LU>>, I: for<'a> LuaRead<PushGuard<&'a LU>>, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, C, D, E, F, G, H, I, J, K, L, M> LuaRead<LU> for AsTable<(C, D, E, F, G, H, I, J, K, L, M)>where LU: AsLua, C: for<'a> LuaRead<PushGuard<&'a LU>>, D: for<'a> LuaRead<PushGuard<&'a LU>>, E: for<'a> LuaRead<PushGuard<&'a LU>>, F: for<'a> LuaRead<PushGuard<&'a LU>>, G: for<'a> LuaRead<PushGuard<&'a LU>>, H: for<'a> LuaRead<PushGuard<&'a LU>>, I: for<'a> LuaRead<PushGuard<&'a LU>>, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, D, E, F, G, H, I, J, K, L, M> LuaRead<LU> for AsTable<(D, E, F, G, H, I, J, K, L, M)>where LU: AsLua, D: for<'a> LuaRead<PushGuard<&'a LU>>, E: for<'a> LuaRead<PushGuard<&'a LU>>, F: for<'a> LuaRead<PushGuard<&'a LU>>, G: for<'a> LuaRead<PushGuard<&'a LU>>, H: for<'a> LuaRead<PushGuard<&'a LU>>, I: for<'a> LuaRead<PushGuard<&'a LU>>, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, E, F, G, H, I, J, K, L, M> LuaRead<LU> for AsTable<(E, F, G, H, I, J, K, L, M)>where LU: AsLua, E: for<'a> LuaRead<PushGuard<&'a LU>>, F: for<'a> LuaRead<PushGuard<&'a LU>>, G: for<'a> LuaRead<PushGuard<&'a LU>>, H: for<'a> LuaRead<PushGuard<&'a LU>>, I: for<'a> LuaRead<PushGuard<&'a LU>>, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, F, G, H, I, J, K, L, M> LuaRead<LU> for AsTable<(F, G, H, I, J, K, L, M)>where LU: AsLua, F: for<'a> LuaRead<PushGuard<&'a LU>>, G: for<'a> LuaRead<PushGuard<&'a LU>>, H: for<'a> LuaRead<PushGuard<&'a LU>>, I: for<'a> LuaRead<PushGuard<&'a LU>>, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, G, H, I, J, K, L, M> LuaRead<LU> for AsTable<(G, H, I, J, K, L, M)>where LU: AsLua, G: for<'a> LuaRead<PushGuard<&'a LU>>, H: for<'a> LuaRead<PushGuard<&'a LU>>, I: for<'a> LuaRead<PushGuard<&'a LU>>, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, H, I, J, K, L, M> LuaRead<LU> for AsTable<(H, I, J, K, L, M)>where LU: AsLua, H: for<'a> LuaRead<PushGuard<&'a LU>>, I: for<'a> LuaRead<PushGuard<&'a LU>>, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, I, J, K, L, M> LuaRead<LU> for AsTable<(I, J, K, L, M)>where LU: AsLua, I: for<'a> LuaRead<PushGuard<&'a LU>>, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, J, K, L, M> LuaRead<LU> for AsTable<(J, K, L, M)>where LU: AsLua, J: for<'a> LuaRead<PushGuard<&'a LU>>, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, K, L, M> LuaRead<LU> for AsTable<(K, L, M)>where LU: AsLua, K: for<'a> LuaRead<PushGuard<&'a LU>>, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, L, M> LuaRead<LU> for AsTable<(L, M)>where LU: AsLua, L: for<'a> LuaRead<PushGuard<&'a LU>>, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<LU, M> LuaRead<LU> for AsTable<(M,)>where LU: AsLua, M: for<'a> LuaRead<PushGuard<&'a LU>>,

source§

impl<T, L> LuaRead<L> for UserdataOnStack<'_, T, L>where L: AsLua, T: Any,