Enum mlua::MetaMethod[][src]

pub enum MetaMethod {
Show variants Add, Sub, Mul, Div, Mod, Pow, Unm, IDiv, BAnd, BOr, BXor, BNot, Shl, Shr, Concat, Len, Eq, Lt, Le, Index, NewIndex, Call, ToString, Pairs, Close, Custom(StdString),
}
Expand description

Kinds of metamethods that can be overridden.

Currently, this mechanism does not allow overriding the __gc metamethod, since there is generally no need to do so: UserData implementors can instead just implement Drop.

Variants

Add
Expand description

The + operator.

Sub
Expand description

The - operator.

Mul
Expand description

The * operator.

Div
Expand description

The / operator.

Mod
Expand description

The % operator.

Pow
Expand description

The ^ operator.

Unm
Expand description

The unary minus (-) operator.

IDiv
Expand description

The floor division (//) operator. Requires feature = "lua54/lua53"

BAnd
Expand description

The bitwise AND (&) operator. Requires feature = "lua54/lua53"

BOr
Expand description

The bitwise OR (|) operator. Requires feature = "lua54/lua53"

BXor
Expand description

The bitwise XOR (binary ~) operator. Requires feature = "lua54/lua53"

BNot
Expand description

The bitwise NOT (unary ~) operator. Requires feature = "lua54/lua53"

Shl
Expand description

The bitwise left shift (<<) operator.

Shr
Expand description

The bitwise right shift (>>) operator.

Concat
Expand description

The string concatenation operator ...

Len
Expand description

The length operator #.

Eq
Expand description

The == operator.

Lt
Expand description

The < operator.

Le
Expand description

The <= operator.

Index
Expand description

Index access obj[key].

NewIndex
Expand description

Index write access obj[key] = value.

Call
Expand description

The call “operator” obj(arg1, args2, ...).

ToString
Expand description

The __tostring metamethod.

This is not an operator, but will be called by methods such as tostring and print.

Pairs
Expand description

The __pairs metamethod.

This is not an operator, but it will be called by the built-in pairs function.

Requires feature = "lua54/lua53/lua52"

Close
Expand description

The __close metamethod.

Executed when a variable, that marked as to-be-closed, goes out of scope.

More information about to-be-closed variabled can be found in the Lua 5.4 documentation.

Requires feature = "lua54"

Custom(StdString)
Expand description

A custom metamethod.

Must not be in the protected list: __gc, __metatable, __mlua*.

Implementations

impl MetaMethod[src]

pub fn name(&self) -> &str[src]

Returns Lua metamethod name, usually prefixed by two underscores.

Trait Implementations

impl Clone for MetaMethod[src]

fn clone(&self) -> MetaMethod[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for MetaMethod[src]

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

Formats the value using the given formatter. Read more

impl Display for MetaMethod[src]

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

Formats the value using the given formatter. Read more

impl From<&'_ str> for MetaMethod[src]

fn from(name: &str) -> Self[src]

Performs the conversion.

impl From<String> for MetaMethod[src]

fn from(name: StdString) -> Self[src]

Performs the conversion.

impl Hash for MetaMethod[src]

fn hash<H: Hasher>(&self, state: &mut H)[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl PartialEq<MetaMethod> for MetaMethod[src]

fn eq(&self, other: &Self) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl Eq for MetaMethod[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.