Struct former::exposed::HashMapDefinitionTypes

source ·
pub struct HashMapDefinitionTypes<K, E, Context = (), Formed = HashMap<K, E>> { /* private fields */ }
Expand description

Holds the generic parameters for the HashMapDefinition.

This companion struct to HashMapDefinition defines the storage type and the context, along with the type that is ultimately formed through the process. It is crucial for maintaining the integrity and consistency of type relations throughout the former lifecycle.

§Type Parameters

  • K: The key type of the hash map.
  • E: The value type of the hash map.
  • Context: The operational context in which the hash map is formed.
  • Formed: The type produced, typically mirroring the structure of a HashMap<K, E>.

Trait Implementations§

source§

impl<K, E, Context, Formed> Debug for HashMapDefinitionTypes<K, E, Context, Formed>
where K: Debug, E: Debug, Context: Debug, Formed: Debug,

source§

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

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

impl<K, E, Context, Formed> Default for HashMapDefinitionTypes<K, E, Context, Formed>
where K: Default, E: Default, Context: Default, Formed: Default,

source§

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

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

impl<K, E, Context, Formed> FormerDefinitionTypes for HashMapDefinitionTypes<K, E, Context, Formed>
where K: Eq + Hash,

§

type Storage = HashMap<K, E>

The type of storage used to maintain the state during formation.
§

type Formed = Formed

The type of the entity once fully formed.
§

type Context = Context

The contextual information used during formation, if any.
source§

impl<K, E, Context, Formed> FormerMutator for HashMapDefinitionTypes<K, E, Context, Formed>
where K: Eq + Hash,

source§

fn form_mutation( _storage: &mut Self::Storage, _context: &mut Option<Self::Context> )

Mutates the context and storage of the entity just before the formation process completes. Read more

Auto Trait Implementations§

§

impl<K, E, Context, Formed> Freeze for HashMapDefinitionTypes<K, E, Context, Formed>

§

impl<K, E, Context, Formed> RefUnwindSafe for HashMapDefinitionTypes<K, E, Context, Formed>
where K: RefUnwindSafe, E: RefUnwindSafe, Context: RefUnwindSafe, Formed: RefUnwindSafe,

§

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

§

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

§

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

§

impl<K, E, Context, Formed> UnwindSafe for HashMapDefinitionTypes<K, E, Context, Formed>
where K: UnwindSafe, E: UnwindSafe, Context: UnwindSafe, Formed: 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.