pub struct Extensions { /* private fields */ }
Expand description

Stores extensions that should be made available through the externalities.

Implementations§

source§

impl Extensions

source

pub fn new() -> Self

Create new instance of Self.

source

pub fn register<E: Extension>(&mut self, ext: E)

Register the given extension.

source

pub fn register_with_type_id( &mut self, type_id: TypeId, extension: Box<dyn Extension> ) -> Result<(), Error>

Register extension extension using the given type_id.

source

pub fn get_mut(&mut self, ext_type_id: TypeId) -> Option<&mut dyn Any>

Return a mutable reference to the requested extension.

source

pub fn deregister(&mut self, type_id: TypeId) -> bool

Deregister extension for the given type_id.

Returns true when the extension was registered.

source

pub fn iter_mut( &mut self ) -> impl Iterator<Item = (&TypeId, &mut Box<dyn Extension>)>

Returns a mutable iterator over all extensions.

source

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

Merge other into self.

If both contain the same extension, the extension instance of other will overwrite the instance found in self.

Trait Implementations§

source§

impl Debug for Extensions

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Extensions

source§

fn default() -> Extensions

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

impl Extend<Extensions> for Extensions

source§

fn extend<T: IntoIterator<Item = Extensions>>(&mut self, iter: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.