Struct simplemap::SimpleMap
[−]
[src]
pub struct SimpleMap<K, V, S> { /* fields omitted */ }
SimpleMap
Simple Map with default for missing values and compacting (removal of elements with default value from underlying map).
Methods
impl<K, V> SimpleMap<K, V, BuildHasherDefault<FnvHasher>> where
K: Ord + Clone + Hash,
V: Clone + Eq + Default,
[src]
K: Ord + Clone + Hash,
V: Clone + Eq + Default,
fn new() -> Self
Create a SimpleMap
.
Default::default()
will be used as a default value.
impl<K, V, S> SimpleMap<K, V, S> where
K: Ord + Clone + Hash,
V: Clone + Eq + Default,
S: BuildHasher + Default,
[src]
K: Ord + Clone + Hash,
V: Clone + Eq + Default,
S: BuildHasher + Default,
fn with_hasher(hasher: S) -> SimpleMap<K, V, S>
Create a SimpleMap
.
Default::default()
will be used as a default value.
impl<K, V> SimpleMap<K, V, BuildHasherDefault<FnvHasher>> where
K: Ord + Clone + Hash,
V: Clone + Eq,
[src]
K: Ord + Clone + Hash,
V: Clone + Eq,
fn new_with_default(default: V) -> Self
Create a SimpleMap
with custom default value.
impl<K, V, S> SimpleMap<K, V, S> where
K: Ord + Clone + Hash,
V: Clone + Eq,
S: BuildHasher + Default,
[src]
K: Ord + Clone + Hash,
V: Clone + Eq,
S: BuildHasher + Default,
fn with_default_with_hasher(default: V, hasher: S) -> SimpleMap<K, V, S>
impl<K, V, S> SimpleMap<K, V, S> where
K: Ord + Clone + Hash,
V: Clone + Eq,
S: BuildHasher,
[src]
K: Ord + Clone + Hash,
V: Clone + Eq,
S: BuildHasher,
fn compact(&mut self)
Make sure to remove all elements with default value.
fn iter<'a>(
&'a self
) -> Chain<Iter<'a, K, V>, Map<Iter<'a, (K, V)>, fn(_: &'a (K, V)) -> (&'a K, &'a V)>>
&'a self
) -> Chain<Iter<'a, K, V>, Map<Iter<'a, (K, V)>, fn(_: &'a (K, V)) -> (&'a K, &'a V)>>
Iterator over map elements with non-default values.
Note: It might return elements with default value, unless compact
is called before iter()
.
impl<K, V, S> SimpleMap<K, V, S> where
K: Ord + Clone + Hash,
V: Clone + Eq,
S: BuildHasher,
[src]
K: Ord + Clone + Hash,
V: Clone + Eq,
S: BuildHasher,
fn iter_cloned<'a>(
&'a self
) -> Chain<Map<Iter<'a, K, V>, fn(_: (&'a K, &'a V)) -> (K, V)>, Cloned<Iter<'a, (K, V)>>>
&'a self
) -> Chain<Map<Iter<'a, K, V>, fn(_: (&'a K, &'a V)) -> (K, V)>, Cloned<Iter<'a, (K, V)>>>
Iterator yielding (K, V) instead of (&K, &V)
Trait Implementations
impl<K: Clone, V: Clone, S: Clone> Clone for SimpleMap<K, V, S>
[src]
fn clone(&self) -> SimpleMap<K, V, S>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<K, V, S> FromIterator<(K, V)> for SimpleMap<K, V, S> where
K: Ord + Hash,
V: Default,
S: BuildHasher + Default,
[src]
K: Ord + Hash,
V: Default,
S: BuildHasher + Default,
fn from_iter<I>(iterator: I) -> SimpleMap<K, V, S> where
I: IntoIterator<Item = (K, V)>,
I: IntoIterator<Item = (K, V)>,
Creates a value from an iterator. Read more
impl<K, V, S> Index<K> for SimpleMap<K, V, S> where
K: Ord + Hash,
S: BuildHasher + Default,
[src]
K: Ord + Hash,
S: BuildHasher + Default,
use simplemap::SimpleMap; let mut map = SimpleMap::new(); let val : u32 = map[0u32]; assert_eq!(val, 0);
type Output = V
The returned type after indexing
fn index<'a>(&'a self, index: K) -> &'a V
The method for the indexing (container[index]
) operation
impl<K, V, S> IndexMut<K> for SimpleMap<K, V, S> where
K: Ord + Clone + Hash,
V: Clone + Eq,
S: BuildHasher + Default,
[src]
K: Ord + Clone + Hash,
V: Clone + Eq,
S: BuildHasher + Default,
use simplemap::SimpleMap; let mut map = SimpleMap::new(); map[1u32] = 3i32; assert_eq!(map[1], 3);
fn index_mut<'a>(&'a mut self, index: K) -> &'a mut V
The method for the mutable indexing (container[index]
) operation
impl<K, V, S> Debug for SimpleMap<K, V, S> where
K: Ord + Eq + Clone + Hash + Debug,
V: Clone + Eq + Debug,
S: BuildHasher,
[src]
K: Ord + Eq + Clone + Hash + Debug,
V: Clone + Eq + Debug,
S: BuildHasher,
impl<K, V, S> Default for SimpleMap<K, V, S> where
K: Ord + Clone + Hash,
V: Clone + Eq + Default,
S: BuildHasher + Default,
[src]
K: Ord + Clone + Hash,
V: Clone + Eq + Default,
S: BuildHasher + Default,