pub struct Container {}
Expand description

Static interface for the container.

Implementations§

source§

impl Container

source

pub fn bind<T: 'static>( factory: impl Fn(&Container) -> T + 'static + Sync + Send ) -> Result<(), Error>

Register a binding with the container.

Errors

This function will return an error if it fails to get write access to the container.

source

pub fn bind_if<T: 'static>( factory: impl Fn(&Container) -> T + 'static + Sync + Send ) -> Result<(), Error>

Register a binding if it hasn’t already been registered.

Errors

This function will return an error if it fails to get write access to the container.

source

pub fn scoped<T: 'static + Clone + Send + Sync>( factory: &(impl Fn(&Container) -> T + 'static) ) -> Result<(), Error>

Register a scoped binding in the container.

Errors

This function will return an error if it fails to get write access to the container.

source

pub fn scoped_if<T: 'static + Clone + Send + Sync>( factory: &(impl Fn(&Container) -> T + 'static) ) -> Result<(), Error>

Register a scoped binding if it hasn’t already been registered.

Errors

This function will return an error if it fails to get write access to the container.

source

pub fn singleton<T: 'static + Clone + Send + Sync>( factory: &(impl Fn(&Container) -> T + 'static) ) -> Result<(), Error>

Register a shared binding in the container.

Errors

This function will return an error if it fails to get write access to the container.

source

pub fn singleton_if<T: 'static + Clone + Send + Sync>( factory: &(impl Fn(&Container) -> T + 'static) ) -> Result<(), Error>

Register a shared binding if it hasn’t already been registered.

Errors

This function will return an error if it fails to get write access to the container.

source

pub fn resolve<T: 'static>() -> Result<T, Error>

Resolve the given type from the container.

Errors

Returns an error if it fails to get read access to the container, if the requested type cannot be found, or if the requested type cannot be cast from the binding.

source

pub fn forget_scoped_instances() -> Result<(), Error>

Clear all of the scoped instances from the container.

Errors

Returns an error if it fails to get write access to the container.

source

pub fn flush() -> Result<(), Error>

Flush the container of all bindings and resolved instances.

Errors

Returns an error if it fails to get write access to the container.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.