Struct rhai::module_resolvers::StaticModuleResolver[][src]

pub struct StaticModuleResolver(_);
Expand description

A static module resolution service that serves modules added into it.

Example

use rhai::{Engine, Module};
use rhai::module_resolvers::StaticModuleResolver;

let mut resolver = StaticModuleResolver::new();

let module = Module::new();
resolver.insert("hello", module);

let mut engine = Engine::new();

engine.set_module_resolver(resolver);

Implementations

impl StaticModuleResolver[src]

pub fn new() -> Self[src]

Create a new StaticModuleResolver.

Example

use rhai::{Engine, Module};
use rhai::module_resolvers::StaticModuleResolver;

let mut resolver = StaticModuleResolver::new();

let module = Module::new();
resolver.insert("hello", module);

let mut engine = Engine::new();
engine.set_module_resolver(resolver);

pub fn insert(&mut self, path: impl Into<Identifier>, module: Module)[src]

Add a module keyed by its path.

pub fn remove(&mut self, path: &str) -> Option<Shared<Module>>[src]

Remove a module given its path.

pub fn contains_path(&self, path: &str) -> bool[src]

Does the path exist?

pub fn iter(&self) -> impl Iterator<Item = (&str, &Shared<Module>)>[src]

Get an iterator of all the modules.

pub fn iter_mut(&mut self) -> impl Iterator<Item = (&str, &mut Shared<Module>)>[src]

Get a mutable iterator of all the modules.

pub fn into_iter(self) -> impl Iterator<Item = (Identifier, Shared<Module>)>[src]

Get a mutable iterator of all the modules.

pub fn paths(&self) -> impl Iterator<Item = &str>[src]

Get an iterator of all the module paths.

pub fn values(&self) -> impl Iterator<Item = &Shared<Module>>[src]

Get an iterator of all the modules.

pub fn clear(&mut self)[src]

Remove all modules.

pub fn is_empty(&self) -> bool[src]

Is this StaticModuleResolver empty?

pub fn len(&self) -> usize[src]

Get the number of modules in this StaticModuleResolver.

pub fn merge(&mut self, other: Self)[src]

Merge another StaticModuleResolver into this. The other StaticModuleResolver is consumed.

Existing modules of the same path name are overwritten.

Trait Implementations

impl AddAssign<StaticModuleResolver> for StaticModuleResolver[src]

fn add_assign(&mut self, rhs: Self)[src]

Performs the += operation. Read more

impl Clone for StaticModuleResolver[src]

fn clone(&self) -> StaticModuleResolver[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 StaticModuleResolver[src]

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

Formats the value using the given formatter. Read more

impl Default for StaticModuleResolver[src]

fn default() -> StaticModuleResolver[src]

Returns the “default value” for a type. Read more

impl ModuleResolver for StaticModuleResolver[src]

fn resolve(
    &self,
    _: &Engine,
    _: Option<&str>,
    path: &str,
    pos: Position
) -> Result<Shared<Module>, Box<EvalAltResult>>
[src]

Resolve a module based on a path string.

fn resolve_ast(
    &self,
    engine: &Engine,
    source_path: Option<&str>,
    path: &str,
    pos: Position
) -> Option<Result<AST, Box<EvalAltResult>>>
[src]

Resolve an AST based on a path string. Read more

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