Trait tealr::rlu::TealDataMethods[][src]

pub trait TealDataMethods<'lua, T> {
    fn add_method<S: ?Sized, A, R, M>(&mut self, name: &S, method: M)
    where
        S: AsRef<[u8]>,
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>
;
fn add_method_mut<S: ?Sized, A, R, M>(&mut self, name: &S, method: M)
    where
        S: AsRef<[u8]>,
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>
;
fn add_function<S: ?Sized, A, R, F>(&mut self, name: &S, function: F)
    where
        S: AsRef<[u8]>,
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>
;
fn add_function_mut<S: ?Sized, A, R, F>(&mut self, name: &S, function: F)
    where
        S: AsRef<[u8]>,
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>
;
fn add_meta_method<A, R, M>(&mut self, meta: MetaMethod, method: M)
    where
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>
;
fn add_meta_method_mut<A, R, M>(&mut self, meta: MetaMethod, method: M)
    where
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>
;
fn add_meta_function<A, R, F>(&mut self, meta: MetaMethod, function: F)
    where
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>
;
fn add_meta_function_mut<A, R, F>(&mut self, meta: MetaMethod, function: F)
    where
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>
; }
Expand description

The teal version of UserDataMethods

The meaning of every method is the same, and so is its use. Look at rlua for documentation

The only difference is that TealDataMethods have an extra type bound on A and R. These are to get the type names when generating the .d.tl file

Required methods

fn add_method<S: ?Sized, A, R, M>(&mut self, name: &S, method: M) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>, 
[src]

Exposes a method to lua

fn add_method_mut<S: ?Sized, A, R, M>(&mut self, name: &S, method: M) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>, 
[src]

Exposes a method to lua that has a mutable reference to Self

fn add_function<S: ?Sized, A, R, F>(&mut self, name: &S, function: F) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>, 
[src]

Exposes a function to lua (its a method that does not take Self)

fn add_function_mut<S: ?Sized, A, R, F>(&mut self, name: &S, function: F) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>, 
[src]

Exposes a mutable function to lua

fn add_meta_method<A, R, M>(&mut self, meta: MetaMethod, method: M) where
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>, 
[src]

Exposes a meta method to lua http://lua-users.org/wiki/MetatableEvents

fn add_meta_method_mut<A, R, M>(&mut self, meta: MetaMethod, method: M) where
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>, 
[src]

Exposes a meta and mutable method to lua http://lua-users.org/wiki/MetatableEvents

fn add_meta_function<A, R, F>(&mut self, meta: MetaMethod, function: F) where
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>, 
[src]

Exposes a meta function to lua http://lua-users.org/wiki/MetatableEvents

fn add_meta_function_mut<A, R, F>(&mut self, meta: MetaMethod, function: F) where
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>, 
[src]

Exposes a meta and mutable function to lua http://lua-users.org/wiki/MetatableEvents

Implementors

impl<'a, 'lua, Container, T> TealDataMethods<'lua, T> for UserDataWrapper<'a, 'lua, Container, T> where
    T: UserData,
    Container: UserDataMethods<'lua, T>, 
[src]

fn add_method<S: ?Sized, A, R, M>(&mut self, name: &S, method: M) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>, 
[src]

fn add_method_mut<S: ?Sized, A, R, M>(&mut self, name: &S, method: M) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua>,
    R: ToLuaMulti<'lua>,
    M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>, 
[src]

fn add_function<S: ?Sized, A, R, F>(&mut self, name: &S, function: F) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua>,
    R: ToLuaMulti<'lua>,
    F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>, 
[src]

fn add_function_mut<S: ?Sized, A, R, F>(&mut self, name: &S, function: F) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua>,
    R: ToLuaMulti<'lua>,
    F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>, 
[src]

fn add_meta_method<A, R, M>(&mut self, meta: MetaMethod, method: M) where
    A: FromLuaMulti<'lua>,
    R: ToLuaMulti<'lua>,
    M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>, 
[src]

fn add_meta_method_mut<A, R, M>(&mut self, meta: MetaMethod, method: M) where
    A: FromLuaMulti<'lua>,
    R: ToLuaMulti<'lua>,
    M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>, 
[src]

fn add_meta_function<A, R, F>(&mut self, meta: MetaMethod, function: F) where
    A: FromLuaMulti<'lua>,
    R: ToLuaMulti<'lua>,
    F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>, 
[src]

fn add_meta_function_mut<A, R, F>(&mut self, meta: MetaMethod, function: F) where
    A: FromLuaMulti<'lua>,
    R: ToLuaMulti<'lua>,
    F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>, 
[src]

impl<'lua, T> TealDataMethods<'lua, T> for TypeGenerator where
    T: 'static + TealDataR + UserDataR
[src]

fn add_method<S: ?Sized, A, R, M>(&mut self, name: &S, _: M) where
    S: AsRef<[u8]>,
    A: FromLuaMultiR<'lua> + TealMultiValue,
    R: ToLuaMultiR<'lua> + TealMultiValue,
    M: 'static + Send + Fn(Context<'lua>, &T, A) -> ResultR<R>, 
[src]

fn add_method_mut<S: ?Sized, A, R, M>(&mut self, name: &S, _: M) where
    S: AsRef<[u8]>,
    A: FromLuaMultiR<'lua> + TealMultiValue,
    R: ToLuaMultiR<'lua> + TealMultiValue,
    M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> ResultR<R>, 
[src]

fn add_function<S: ?Sized, A, R, F>(&mut self, name: &S, _: F) where
    S: AsRef<[u8]>,
    A: FromLuaMultiR<'lua> + TealMultiValue,
    R: ToLuaMultiR<'lua> + TealMultiValue,
    F: 'static + Send + Fn(Context<'lua>, A) -> ResultR<R>, 
[src]

fn add_function_mut<S: ?Sized, A, R, F>(&mut self, name: &S, _: F) where
    S: AsRef<[u8]>,
    A: FromLuaMultiR<'lua> + TealMultiValue,
    R: ToLuaMultiR<'lua> + TealMultiValue,
    F: 'static + Send + FnMut(Context<'lua>, A) -> ResultR<R>, 
[src]

fn add_meta_method<A, R, M>(&mut self, name: MetaMethodR, _: M) where
    A: FromLuaMultiR<'lua> + TealMultiValue,
    R: ToLuaMultiR<'lua> + TealMultiValue,
    M: 'static + Send + Fn(Context<'lua>, &T, A) -> ResultR<R>, 
[src]

fn add_meta_method_mut<A, R, M>(&mut self, name: MetaMethodR, _: M) where
    A: FromLuaMultiR<'lua> + TealMultiValue,
    R: ToLuaMultiR<'lua> + TealMultiValue,
    M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> ResultR<R>, 
[src]

fn add_meta_function<A, R, F>(&mut self, name: MetaMethodR, _: F) where
    A: FromLuaMultiR<'lua> + TealMultiValue,
    R: ToLuaMultiR<'lua> + TealMultiValue,
    F: 'static + Send + Fn(Context<'lua>, A) -> ResultR<R>, 
[src]

fn add_meta_function_mut<A, R, F>(&mut self, name: MetaMethodR, _: F) where
    A: FromLuaMultiR<'lua> + TealMultiValue,
    R: ToLuaMultiR<'lua> + TealMultiValue,
    F: 'static + Send + FnMut(Context<'lua>, A) -> ResultR<R>, 
[src]