All notable changes to this project will be documented in this file.
Nothing
Nothing
Nothing
into_keys
DHashMap
method that creates a consuming iterator visiting all the keys in arbitrary order;into_values
DHashMap
method that creates a consuming iterator visiting all the values in arbitrary order;Extend
trait implementation forDHashMap
was expanded (addExtend<&'a (K1, K2, V)>
);
Updated documentations and examples of some methods and structures (Iter
, Keys
, Values
, Drain
, IntoIter
structures, IntoIterator
trait implementations documentations, etc.)
Nothing
Nothing
Eq
trait implementation forDHashMap
;IntoIterator
trait implementation forDHashMap
;
Nothing
Nothing
Nothing
drain
DHashMap
method that clears the map, returning all keys-value tuples as an arbitrary order iterator;get_mut_keys
DHashMap
method that returns a mutable reference to the value corresponding to the given primary key(key #1)
and secondary key(key #2)
if they both exist and refer to the same value;remove_keys
DHashMap
method that removes element from the map corresponding to the given primary key(key #1)
and secondary key(key #2)
returning the value at the keys if the keys was previously in the map and refer to the same value;- Add some clarifications to
capacity
,len
,is_empty
methods documentations.
Nothing
Nothing
Nothing
Improve realizations of some methods (get_key1
, get_key2
, get_keys
, get_key1_value
, get_key2_value
,
get_keys_value
, contains_keys
, get_mut_key1
, get_mut_key2
, remove_key1
, remove_key2
, insert_unchecked
)
- Removed unnecessary lifetime bounds on implementations of
ExactSizeIterator
forIter
,Keys
,Values
,IterMut
,ValuesMut
structures; - Removed
K1: Clone
andK2: Clone
bounds for allVacantEntry
methods exceptinsert
method; - Removed unnecessary
K1: Eq + Hash
andK2: Eq + Hash
bounds for allEntry
methods. RemainedK1: Clone
andK2: Clone
bounds only for the methods that need on it. - Removed unnecessary
K1: Eq + Hash + Clone
andK2: Eq + Hash + Clone
on implementations ofDisplay
andError
traits forOccupiedError
structure. - Removed unnecessary
K1: Eq + Hash + Clone
andK2: Eq + Hash + Clone
on implementations ofDisplay
andError
traits forTryInsertError
structure.
Nothing
get_keys
DHashMap
method that returns a reference to the value corresponding to the given primary key and secondary key if they both exist and refer to the same value;get_key1_value
DHashMap
method that returns a reference to the key-value pair corresponding to the given primary key: return the tuple of type(&'a K1, &'a V)
;get_key2_value
DHashMap
method that returns a reference to the key-value pair corresponding to the given secondary key: return the tuple of type(&'a K2, &'a V)
;get_keys_value
DHashMap
method that returns a reference to the keys-value tuple corresponding to the given primary key and secondary key if they both exist and refer to the same value: return the tuple of type(&'a K1, &'a K2, &'a V)
;
Fixed several typos in previous documentation.
Nothign
Nothing
contains_key1
DHashMap
method that returns true if the map contains a value for the specified primary key;contains_key2
DHashMap
method that returns true if the map contains a value for the specified secondary key;contains_keys
DHashMap
method that returns true if the map contains a value for the specified primary key and secondary key and also they both refer to the same value;
Nothign
Nothign
Nothing
keys
DHashMap
method for creation an iterator visiting all keys in arbitrary order;values
DHashMap
method for creation an iterator visiting all values in arbitrary order;values_mut
DHashMap
method for creation an iterator visiting all values mutably in arbitrary order.
Nothign
Nothign
Nothing
iter_mut
DHashMap
method for creation an iterator visiting all keys-value tuples in arbitrary order, with mutable references to the values.
Nothign
Nothign
Nothing
Nothing
Improved iter
DHashMap
method documentation.
Nothign
Nothing
iter
DHashMap
method for creation an iterator visiting all keys-value tuples in arbitrary order.
Nothign
Nothign
Nothing
Default
trait implementation forDHashMap
;dhashmap!
for creation aDHashMap<K1, K2, V,
RandomState
>
from a list of sequentially given keys and values;- Add documentation for
Extend
trait; - Add documentation for
FromIterator
trait.
Nothign
Nothign
Nothing
Extend
trait implementation forDHashMap
;FromIterator
trait implementation forDHashMap
.
- Documentation was improved;
DHashMap
was moved to separate moduledhash_map
;TryInsertError::Other
variant changed to theTryInsertError::Insert
variant.
Nothign
DHashMap::entry
method (and through thisDHashMap::try_insert
,DHashMap::insert
methods) realizations was changed.
- Because of moving
DHashMap
to the separate moduledhash_map
,EntryError
structure,InsertError
structure,OccupiedEntry
structure,OccupiedError
structure,VacantEntry
structure,Entry
enum,ErrorKind
enum,TryInsertError
enum can not be used directly from crate root likeuse double_map::DHashMap
. You need change syntax to use submodule, like thisuse double_map::dhash_map::EntryError
; TryInsertError::Other
variant changed to theTryInsertError::Insert
variant.
Nothign
Nothing
Initial publication. Created DHashmap
data structure, and add some methods to it1:
new
: creates a new emptyDHashMap
;with_capacity
: creates an emptyDHashMap
with the specified capacity;with_hasher
: creates an emptyDHashMap
which will use the given hash builder to hash keys;with_capacity_and_hasher
: creates an emptyDHashMap
with the specified capacity, usinghash_builder
to hash the keys;capacity
: returns the number of elements the map can hold without reallocating;len
: returns the number of elements in the map.;is_empty
: returnstrue
if the map contains no elements;clear
: clears the map, removing all keys-value tuples(K1, K2, V)
. Keeps the allocated memory for reuse;hasher
: returns a reference to the map'sBuildHasher
;reserve
: reserves capacity for at leastadditional
more elements;try_reserve
: tries to reserve capacity for at leastadditional
more elements;shrink_to_fit
: shrinks the capacity of the map as much as possible;shrink_to
: shrinks the capacity of the map with a lower limit;entry
: tries to gets the given keys' corresponding entry in the map for in-place manipulation; return error if primaryK1
key or secondaryK2
not both vacant or exist and refers to the same value. Given keys returned insideerror
structure;get_key1
: returns a reference to the value corresponding to the given primary key(K1)
;get_key2
: returns a reference to the value corresponding to the given secondary key(K2)
;get_mut_key1
: returns a mutable reference to the value corresponding to the given primary key(K1)
;get_mut_key2
: returns a reference to the value corresponding to the given secondary key(K2)
;insert_unchecked
: insert keys-value tuple(K1, K2, V)
into the map without checking that primaryK1
key or secondaryK2
key vacant or exist in map and refers to the same value;insert
: insert keys-value tuple(K1, K2, V)
into the map(K1, K2, V)
with checking that primaryK1
key or secondaryK2
key vacant or exist in map and refers to the same value; return error if its failure. Given keys and value returned insideerror
structure;try_insert
: tries insert keys-value tuple(K1, K2, V)
into the map if they vacant and returning error if any of keys or both keys exist in the map. Given value or value and keys together returned insideerror
enum (depends error type);remove_key1
: remove element from map corresponding to the given primary key(K1)
;remove_key2
: remove element from map corresponding to the given secondary key(K2)
.
Nothign
Nothign
Nothing
Footnotes
-
The
K1
,K2
,V
abbreviations means:K1
- a primary key of typeK1
;K2
- a secondary key of typeK2
;V
- a value of typeK2
. ↩