Struct rlua::UserDataMethods[][src]

pub struct UserDataMethods<'lua, T> { /* fields omitted */ }

Method registry for UserData implementors.

Methods

impl<'lua, T: UserData> UserDataMethods<'lua, T>
[src]

Add a method which accepts a &T as the first parameter.

Regular methods are implemented by overriding the __index metamethod and returning the accessed method. This allows them to be used with the expected userdata:method() syntax.

If add_meta_method is used to set the __index metamethod, the __index metamethod will be used as a fall-back if no regular method is found.

Add a regular method which accepts a &mut T as the first parameter.

Refer to add_method for more information about the implementation.

Add a regular method as a function which accepts generic arguments, the first argument will always be a UserData of type T.

Prefer to use add_method or add_method_mut as they are easier to use.

Add a regular method as a mutable function which accepts generic arguments, the first argument will always be a UserData of type T.

This is a version of add_function that accepts a FnMut argument.

Add a metamethod which accepts a &T as the first parameter.

Note

This can cause an error with certain binary metamethods that can trigger if only the right side has a metatable. To prevent this, use add_meta_function.

Add a metamethod as a function which accepts a &mut T as the first parameter.

Note

This can cause an error with certain binary metamethods that can trigger if only the right side has a metatable. To prevent this, use add_meta_function.

Add a metamethod which accepts generic arguments.

Metamethods for binary operators can be triggered if either the left or right argument to the binary operator has a metatable, so the first argument here is not necessarily a userdata of type T.

Add a metamethod as a mutable function which accepts generic arguments.

This is a version of add_meta_function that accepts a FnMut argument.

Auto Trait Implementations

impl<'lua, T> !Send for UserDataMethods<'lua, T>

impl<'lua, T> !Sync for UserDataMethods<'lua, T>