Skip to main content

WrappedBuilder

Struct WrappedBuilder 

Source
pub struct WrappedBuilder<'ctx, U>(/* private fields */);
Expand description

Wrapper around a UserDataFields and UserDataMethods to allow TypedUserData implementations to be used for mlua::UserData implementations

Implementations§

Source§

impl<'ctx, U> WrappedBuilder<'ctx, U>

Source

pub fn new(u: &'ctx mut U) -> Self

Trait Implementations§

Source§

impl<'ctx, T: UserData, U: UserDataFields<T>> TypedDataFields<T> for WrappedBuilder<'ctx, U>

Source§

fn document(&mut self, _doc: impl IntoDocComment) -> &mut Self

Adds documentation to the next field that gets added
Source§

fn coerce(&mut self, _ty: impl Into<Type>) -> &mut Self

Adds a type to the queued overrides. Read more
Source§

fn add_field<V>(&mut self, name: impl Into<String>, value: V)
where V: IntoLua + Clone + 'static + Typed,

Typed version of add_field
Source§

fn add_field_function_set<S, A, F>(&mut self, name: S, function: F)
where S: Into<String>, A: FromLua + Typed, F: FnMut(&Lua, AnyUserData, A) -> Result<()> + MaybeSend + 'static,

Typed version of add_field_function_set
Source§

fn add_field_function_get<S, R, F>(&mut self, name: S, function: F)
where S: Into<String>, R: IntoLua + Typed, F: Fn(&Lua, AnyUserData) -> Result<R> + MaybeSend + 'static,

Typed version of add_field_function_get
Source§

fn add_field_function_get_set<S, R, A, GET, SET>( &mut self, name: S, get: GET, set: SET, )
where S: Into<String>, R: IntoLua + Typed, A: FromLua + Typed, GET: Fn(&Lua, AnyUserData) -> Result<R> + MaybeSend + 'static, SET: Fn(&Lua, AnyUserData, A) -> Result<()> + MaybeSend + 'static,

Typed version of add_field_function_get and add_field_function_set combined
Source§

fn add_field_method_set<S, A, M>(&mut self, name: S, method: M)
where S: Into<String>, A: FromLua + Typed, M: FnMut(&Lua, &mut T, A) -> Result<()> + MaybeSend + 'static,

Typed version of dd_field_method_set
Source§

fn add_field_method_get<S, R, M>(&mut self, name: S, method: M)
where S: Into<String>, R: IntoLua + Typed, M: Fn(&Lua, &T) -> Result<R> + MaybeSend + 'static,

Typed version of add_field_method_get
Source§

fn add_field_method_get_set<S, R, A, GET, SET>( &mut self, name: S, get: GET, set: SET, )
where S: Into<String>, R: IntoLua + Typed, A: FromLua + Typed, GET: Fn(&Lua, &T) -> Result<R> + MaybeSend + 'static, SET: Fn(&Lua, &mut T, A) -> Result<()> + MaybeSend + 'static,

Typed version of add_field_method_get and add_field_method_set combined
Source§

fn add_meta_field<V>(&mut self, meta: impl Into<String>, value: V)
where V: IntoLua + 'static,

Typed version of add_meta_field
Source§

fn add_meta_field_with<R, F>(&mut self, name: impl Into<String>, f: F)
where F: 'static + MaybeSend + Fn(&Lua) -> Result<R>, R: IntoLua + 'static,

Typed version of add_meta_field
Source§

impl<'ctx, T: UserData, U: UserDataMethods<T>> TypedDataMethods<T> for WrappedBuilder<'ctx, U>

Source§

fn document(&mut self, _documentation: impl IntoDocComment) -> &mut Self

Adds documentation to the next method/function that gets added
Source§

fn param(&mut self, _name: impl Display, _doc: impl IntoDocComment) -> &mut Self

Adds a param name and doc comment to the next method/function that gets added. Read more
Source§

fn param_as( &mut self, _ty: impl Into<Type>, _name: impl Display, _doc: impl IntoDocComment, ) -> &mut Self

Adds a param name and doc comment to the next method/function that gets added. Will also add an override type to the param. Read more
Source§

fn ret(&mut self, _: impl IntoDocComment) -> &mut Self

Adds a return doc comment to the next method/function that gets added. Read more
Source§

fn ret_as(&mut self, _: impl Into<Type>, _: impl IntoDocComment) -> &mut Self

Adds a return doc comment to the next method/function that gets added. Will also add an override type to the return. Read more
Source§

fn index<I: Typed>( &mut self, _idx: isize, _doc: impl IntoDocComment, ) -> &mut Self

Adds an index field with a type and doc comment to the class definition
Source§

fn index_as( &mut self, _idx: isize, _ty: impl Into<Type>, _doc: impl IntoDocComment, ) -> &mut Self

Adds an index field with a type and doc comment to the class definition
Source§

fn add_method<S, A, R, M>(&mut self, name: S, method: M)
where S: Into<String>, A: FromLuaMulti + TypedMultiValue, R: IntoLuaMulti + TypedMultiValue, M: Fn(&Lua, &T, A) -> Result<R> + MaybeSend + 'static,

Exposes a method to lua
Source§

fn add_function<S, A, R, F>(&mut self, name: S, function: F)
where S: Into<String>, A: FromLuaMulti + TypedMultiValue, R: IntoLuaMulti + TypedMultiValue, F: Fn(&Lua, A) -> Result<R> + MaybeSend + 'static,

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

fn add_method_mut<S, A, R, M>(&mut self, name: S, method: M)

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

fn add_meta_method<A, R, M>(&mut self, meta: impl Into<String>, method: M)
where A: FromLuaMulti + TypedMultiValue, R: IntoLuaMulti + TypedMultiValue, M: 'static + MaybeSend + Fn(&Lua, &T, A) -> Result<R>,

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

fn add_async_method<S: Into<String>, A, R, M, MR>(&mut self, name: S, method: M)
where T: 'static, M: Fn(Lua, UserDataRef<T>, A) -> MR + MaybeSend + 'static, A: FromLuaMulti + TypedMultiValue, MR: Future<Output = Result<R>> + MaybeSend + 'static, R: IntoLuaMulti + TypedMultiValue,

exposes an async method to lua
Source§

fn add_async_method_mut<S: Into<String>, A, R, M, MR>( &mut self, name: S, method: M, )
where T: 'static, M: Fn(Lua, UserDataRefMut<T>, A) -> MR + MaybeSend + 'static, A: FromLuaMulti + TypedMultiValue, MR: Future<Output = Result<R>> + MaybeSend + 'static, R: IntoLuaMulti + TypedMultiValue,

exposes an async method to lua
Source§

fn add_function_mut<S, A, R, F>(&mut self, name: S, function: F)
where S: Into<String>, A: FromLuaMulti + TypedMultiValue, R: IntoLuaMulti + TypedMultiValue, F: FnMut(&Lua, A) -> Result<R> + MaybeSend + 'static,

Exposes a mutable function to lua
Source§

fn add_meta_function<A, R, F>(&mut self, meta: impl Into<String>, function: F)
where A: FromLuaMulti + TypedMultiValue, R: IntoLuaMulti + TypedMultiValue, F: Fn(&Lua, A) -> Result<R> + MaybeSend + 'static,

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

fn add_async_function<S, A, R, F, FR>(&mut self, name: S, function: F)
where S: Into<String>, A: FromLuaMulti + TypedMultiValue, R: IntoLuaMulti + TypedMultiValue, F: 'static + MaybeSend + Fn(Lua, A) -> FR, FR: 'static + MaybeSend + Future<Output = Result<R>>,

exposes an async function to lua
Source§

fn add_meta_method_mut<A, R, M>(&mut self, meta: impl Into<String>, method: M)

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

fn add_meta_function_mut<A, R, F>( &mut self, meta: impl Into<String>, function: F, )
where A: FromLuaMulti + TypedMultiValue, R: IntoLuaMulti + TypedMultiValue, F: FnMut(&Lua, A) -> Result<R> + MaybeSend + 'static,

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

Auto Trait Implementations§

§

impl<'ctx, U> Freeze for WrappedBuilder<'ctx, U>

§

impl<'ctx, U> RefUnwindSafe for WrappedBuilder<'ctx, U>
where U: RefUnwindSafe,

§

impl<'ctx, U> Send for WrappedBuilder<'ctx, U>
where U: Send,

§

impl<'ctx, U> Sync for WrappedBuilder<'ctx, U>
where U: Sync,

§

impl<'ctx, U> Unpin for WrappedBuilder<'ctx, U>

§

impl<'ctx, U> UnsafeUnpin for WrappedBuilder<'ctx, U>

§

impl<'ctx, U> !UnwindSafe for WrappedBuilder<'ctx, U>

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

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

Source§

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>,

Source§

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.
Source§

impl<T> MaybeSend for T
where T: Send,

Source§

impl<T> MaybeSend for T
where T: Send,