Skip to main content

Object

Trait Object 

Source
pub trait Object: Send + ObjectAddon {
    // Required methods
    fn as_any(&self) -> &dyn Any;
    fn as_any_mut(&mut self) -> &mut dyn Any;
    fn get_children(&self) -> Vec<usize>;

    // Provided methods
    fn typename(&self) -> String { ... }
    fn initialize(&mut self, _: &mut ObjectPool) { ... }
    fn call(&self, _m: &mut Machine, _args: Vec<Value>, _c_index: u8) -> Value { ... }
    fn store_at(&self, _m: &mut Machine, _args: Vec<Value>, _rindex: usize) { ... }
    fn load_at(&self, _m: &mut Machine, _args: Vec<Value>, _rindex: usize) { ... }
}

Required Methods§

Source

fn as_any(&self) -> &dyn Any

Source

fn as_any_mut(&mut self) -> &mut dyn Any

Source

fn get_children(&self) -> Vec<usize>

Provided Methods§

Source

fn typename(&self) -> String

Source

fn initialize(&mut self, _: &mut ObjectPool)

Source

fn call(&self, _m: &mut Machine, _args: Vec<Value>, _c_index: u8) -> Value

Source

fn store_at(&self, _m: &mut Machine, _args: Vec<Value>, _rindex: usize)

Source

fn load_at(&self, _m: &mut Machine, _args: Vec<Value>, _rindex: usize)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Object for String

Source§

fn initialize(&mut self, _: &mut ObjectPool)

Source§

fn get_children(&self) -> Vec<usize>

Source§

fn as_any(&self) -> &dyn Any

Source§

fn as_any_mut(&mut self) -> &mut dyn Any

Implementors§