Struct former::exposed::HashMapDefinition

source ·
pub struct HashMapDefinition<K, E, Context = (), Formed = HashMap<K, E>, End = ReturnStorage>
where K: Eq + Hash, End: FormingEnd<HashMapDefinitionTypes<K, E, Context, Formed>>,
{ /* private fields */ }
Expand description

Represents the formation definition for a hash map-like collection within the former framework.

This structure defines the essential elements required to form a hash map-like collection, detailing the key and value types, the contextual environment during formation, the final formed type, and the behavior at the end of the formation process. It facilitates customization and extension of hash map formation within any system that implements complex data management operations.

§Type Parameters

  • K: The key type of the hash map.
  • E: The value type of the hash map.
  • Context: The optional context provided during the formation process.
  • Formed: The type of the entity produced, typically a HashMap<K, E>.
  • End: A trait defining the end behavior of the formation process, managing how the hash map is finalized.

Trait Implementations§

source§

impl<K, E, Context, Formed, End> Debug for HashMapDefinition<K, E, Context, Formed, End>
where K: Debug + Eq + Hash, E: Debug, Context: Debug, Formed: Debug, End: Debug + FormingEnd<HashMapDefinitionTypes<K, E, Context, Formed>>,

source§

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

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

impl<K, E, Context, Formed, End> Default for HashMapDefinition<K, E, Context, Formed, End>
where K: Default + Eq + Hash, E: Default, Context: Default, Formed: Default, End: Default + FormingEnd<HashMapDefinitionTypes<K, E, Context, Formed>>,

source§

fn default() -> HashMapDefinition<K, E, Context, Formed, End>

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

impl<K, E, Context, Formed, End> FormerDefinition for HashMapDefinition<K, E, Context, Formed, End>
where K: Eq + Hash, End: FormingEnd<HashMapDefinitionTypes<K, E, Context, Formed>>,

§

type Storage = HashMap<K, E>

The storage type used during the formation.
§

type Formed = Formed

The type of the entity being formed. It is generally the structure for which the Former is derived, representing the fully formed state of the entity. However, it can differ if a custom FormingEnd or a different Formed type is defined to handle specific forming logic or requirements.
§

type Context = Context

The context used during the formation process.
§

type Types = HashMapDefinitionTypes<K, E, Context, Formed>

Encapsulates the types related to the formation process including any mutators.
§

type End = End

Defines the ending condition or operation of the formation process.

Auto Trait Implementations§

§

impl<K, E, Context, Formed, End> Freeze for HashMapDefinition<K, E, Context, Formed, End>

§

impl<K, E, Context, Formed, End> RefUnwindSafe for HashMapDefinition<K, E, Context, Formed, End>

§

impl<K, E, Context, Formed, End> Send for HashMapDefinition<K, E, Context, Formed, End>
where K: Send, E: Send, Context: Send, Formed: Send, End: Send,

§

impl<K, E, Context, Formed, End> Sync for HashMapDefinition<K, E, Context, Formed, End>
where K: Sync, E: Sync, Context: Sync, Formed: Sync, End: Sync,

§

impl<K, E, Context, Formed, End> Unpin for HashMapDefinition<K, E, Context, Formed, End>
where K: Unpin, E: Unpin, Context: Unpin, Formed: Unpin, End: Unpin,

§

impl<K, E, Context, Formed, End> UnwindSafe for HashMapDefinition<K, E, Context, Formed, End>
where K: UnwindSafe, E: UnwindSafe, Context: UnwindSafe, Formed: UnwindSafe, End: UnwindSafe,

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.