Struct legion::Resources [−][src]
pub struct Resources { /* fields omitted */ }
Expand description
Resources container. Shared resources stored here can be retrieved in systems.
Implementations
Creates an accessor to resources which are Send and Sync, which itself can be sent between threads.
Returns true
if type T
exists in the store. Otherwise, returns false
.
Inserts the instance of T
into the store. If the type already exists, it will be silently
overwritten. If you would like to retain the instance of the resource that already exists,
call remove
first to retrieve it.
Removes the type T
from this store if it exists.
Returns
If the type T
was stored, the inner instance of T is returned. Otherwise,
None`.
Retrieve an immutable reference to T
from the store if it exists. Otherwise, return None
.
Panics
Panics if the resource is already borrowed mutably.
Retrieve a mutable reference to T
from the store if it exists. Otherwise, return None
.
Attempts to retrieve an immutable reference to T
from the store. If it does not exist,
the closure f
is called to construct the object and it is then inserted into the store.
pub fn get_mut_or_insert_with<T: Resource, F: FnOnce() -> T>(
&mut self,
f: F
) -> AtomicRefMut<'_, T>
pub fn get_mut_or_insert_with<T: Resource, F: FnOnce() -> T>(
&mut self,
f: F
) -> AtomicRefMut<'_, T>
Attempts to retrieve a mutable reference to T
from the store. If it does not exist,
the closure f
is called to construct the object and it is then inserted into the store.
Attempts to retrieve an immutable reference to T
from the store. If it does not exist,
the provided value is inserted and then a reference to it is returned.
Attempts to retrieve a mutable reference to T
from the store. If it does not exist,
the provided value is inserted and then a reference to it is returned.
Attempts to retrieve an immutable reference to T
from the store. If it does not exist,
the default constructor for T
is called.
T
must implement Default
for this method.
Attempts to retrieve a mutable reference to T
from the store. If it does not exist,
the default constructor for T
is called.
T
must implement Default
for this method.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Resources
impl !UnwindSafe for Resources
Blanket Implementations
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more