Struct typemap::TypeMap [] [src]

pub struct TypeMap<A: ?Sized = UnsafeAny> where
    A: UnsafeAnyExt
{ /* fields omitted */ }

A map keyed by types.

Can contain one value of any type for each key type, as defined by the Assoc trait.

You usually do not need to worry about the A type parameter, but it can be used to add bounds to the possible value types that can be stored in this map. Usually, you are looking for ShareMap, which is Send + Sync.


impl TypeMap

Create a new, empty TypeMap.

impl<A: UnsafeAnyExt + ?Sized> TypeMap<A>

Create a new, empty TypeMap.

Can be used with any A parameter; new is specialized to get around the required type annotations when using this function.

Insert a value into the map with a specified key type.

Find a value in the map and get a reference to it.

Find a value in the map and get a mutable reference to it.

Check if a key has an associated value stored in the map.

Remove a value from the map.

Returns true if a value was removed.

Get the given key's corresponding entry in the map for in-place manipulation.

Read the underlying HashMap

Get a mutable reference to the underlying HashMap

Get the number of values stored in the map.

Return true if the map contains no values.

Remove all entries from the map.

Trait Implementations

impl<A: Default + ?Sized> Default for TypeMap<A> where
    A: UnsafeAnyExt

Returns the "default value" for a type. Read more

impl<A: Debug + ?Sized> Debug for TypeMap<A> where
    A: UnsafeAnyExt

Formats the value using the given formatter.

impl<A: ?Sized> Clone for TypeMap<A> where
    A: UnsafeAnyExt,
    Box<A>: Clone

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more