pub struct ModuleResolversCollection(/* private fields */);Expand description
Module resolution service that holds a collection of module resolvers, to be searched in sequential order.
§Example
use quad_compat_rhai::{Engine, Module};
use quad_compat_rhai::module_resolvers::{StaticModuleResolver, ModuleResolversCollection};
let mut collection = ModuleResolversCollection::new();
let resolver = StaticModuleResolver::new();
collection.push(resolver);
let mut engine = Engine::new();
engine.set_module_resolver(collection);Implementations§
Source§impl ModuleResolversCollection
impl ModuleResolversCollection
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new ModuleResolversCollection.
§Example
use quad_compat_rhai::{Engine, Module};
use quad_compat_rhai::module_resolvers::{StaticModuleResolver, ModuleResolversCollection};
let mut collection = ModuleResolversCollection::new();
let resolver = StaticModuleResolver::new();
collection.push(resolver);
let mut engine = Engine::new();
engine.set_module_resolver(collection);Sourcepub fn push(&mut self, resolver: impl ModuleResolver + 'static) -> &mut Self
pub fn push(&mut self, resolver: impl ModuleResolver + 'static) -> &mut Self
Append a module resolver to the end.
Sourcepub fn insert(
&mut self,
index: usize,
resolver: impl ModuleResolver + 'static,
) -> &mut Self
pub fn insert( &mut self, index: usize, resolver: impl ModuleResolver + 'static, ) -> &mut Self
Sourcepub fn pop(&mut self) -> Option<Box<dyn ModuleResolver>>
pub fn pop(&mut self) -> Option<Box<dyn ModuleResolver>>
Remove the last module resolver from the end, if any.
Sourcepub fn remove(&mut self, index: usize) -> Box<dyn ModuleResolver>
pub fn remove(&mut self, index: usize) -> Box<dyn ModuleResolver>
Sourcepub fn iter(&self) -> impl Iterator<Item = &dyn ModuleResolver>
pub fn iter(&self) -> impl Iterator<Item = &dyn ModuleResolver>
Get an iterator of all the module resolvers.
Sourcepub fn clear(&mut self) -> &mut Self
pub fn clear(&mut self) -> &mut Self
Remove all module resolvers.
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Is this ModuleResolversCollection empty?
Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Get the number of module resolvers in this ModuleResolversCollection.
Sourcepub fn append(&mut self, other: Self) -> &mut Self
pub fn append(&mut self, other: Self) -> &mut Self
Add another ModuleResolversCollection to the end of this collection.
The other ModuleResolversCollection is consumed.
Trait Implementations§
Source§impl<M: ModuleResolver + 'static> AddAssign<M> for ModuleResolversCollection
impl<M: ModuleResolver + 'static> AddAssign<M> for ModuleResolversCollection
Source§fn add_assign(&mut self, rhs: M)
fn add_assign(&mut self, rhs: M)
Performs the
+= operation. Read moreAuto Trait Implementations§
impl Freeze for ModuleResolversCollection
impl !RefUnwindSafe for ModuleResolversCollection
impl !Send for ModuleResolversCollection
impl !Sync for ModuleResolversCollection
impl Unpin for ModuleResolversCollection
impl !UnwindSafe for ModuleResolversCollection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more