Struct former::exposed::FormingEndClosure

source ·
pub struct FormingEndClosure<Definition>
where Definition: FormerDefinitionTypes,
{ /* private fields */ }
Expand description

A wrapper around a closure to be used as a FormingEnd.

This struct allows for dynamic dispatch of a closure that matches the FormingEnd trait’s call method signature. It is useful for cases where a closure needs to be stored or passed around as an object implementing FormingEnd.

Implementations§

source§

impl<Definition> FormingEndClosure<Definition>
where Definition: FormerDefinitionTypes,

source

pub fn new( closure: impl Fn(<Definition as FormerDefinitionTypes>::Storage, Option<<Definition as FormerDefinitionTypes>::Context>) -> <Definition as FormerDefinitionTypes>::Formed + 'static ) -> FormingEndClosure<Definition>

Constructs a new FormingEndClosure with the provided closure.

§Parameters
  • closure - A closure that matches the expected signature for transforming a collection and context into a new context. This closure is stored and called by the call method of the FormingEnd trait implementation.
§Returns

Returns an instance of FormingEndClosure encapsulating the provided closure.

Trait Implementations§

source§

impl<Definition> Debug for FormingEndClosure<Definition>
where Definition: FormerDefinitionTypes,

source§

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

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

impl<Definition> FormingEnd<Definition> for FormingEndClosure<Definition>
where Definition: FormerDefinitionTypes,

source§

fn call( &self, storage: <Definition as FormerDefinitionTypes>::Storage, context: Option<<Definition as FormerDefinitionTypes>::Context> ) -> <Definition as FormerDefinitionTypes>::Formed

Called at the end of the subforming process to return the modified or original context. Read more
source§

impl<T, Definition> From<T> for FormingEndClosure<Definition>
where T: Fn(<Definition as FormerDefinitionTypes>::Storage, Option<<Definition as FormerDefinitionTypes>::Context>) -> <Definition as FormerDefinitionTypes>::Formed + 'static, Definition: FormerDefinitionTypes,

source§

fn from(closure: T) -> FormingEndClosure<Definition>

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<Definition> Freeze for FormingEndClosure<Definition>

§

impl<Definition> !RefUnwindSafe for FormingEndClosure<Definition>

§

impl<Definition> !Send for FormingEndClosure<Definition>

§

impl<Definition> !Sync for FormingEndClosure<Definition>

§

impl<Definition> Unpin for FormingEndClosure<Definition>
where <Definition as FormerDefinitionTypes>::Storage: Unpin,

§

impl<Definition> !UnwindSafe for FormingEndClosure<Definition>

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<S> AssignWithType for S

source§

fn assign_with_type<T, IntoT>(&mut self, component: IntoT)
where IntoT: Into<T>, S: Assign<T, IntoT>,

Sets the value of a component by its type. 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<C, E> EntryToVal<C> for E
where C: Collection<Entry = E>,

§

type Val = <C as Collection>::Val

The type of values stored in the collection. This might be distinct from Entry in complex collections. For example, in a HashMap, while Entry might be a ( key, value ) tuple, Val might only be the value part.
source§

fn entry_to_val(self) -> <E as EntryToVal<C>>::Val

Converts an entry into a value representation specific to the type of collection. This conversion is crucial for handling operations on entries, especially when they need to be treated or accessed as individual values, such as retrieving the value part from a key-value pair in a hash map.
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.
source§

impl<C, Val> ValToEntry<C> for Val
where C: CollectionValToEntry<Val>,

source§

fn val_to_entry(self) -> <C as CollectionValToEntry<Val>>::Entry

Invokes the val_to_entry function of the CollectionValToEntry trait to convert the value to an entry.

§

type Entry = <C as CollectionValToEntry<Val>>::Entry

Represents the type of entry that corresponds to the value within the collection.