Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add missing constructor methods to SegmentedHashMap (#17) * add SegmentedHashMap BuildHasher constructors * SegmentedHashMap#with_hasher: default capacity and number of segments, user specified BuildHasher instance * SegmentedHashMap#with_capacity_and_hasher: default number of segments, user specified capacity and BuildHasher instance * correctly implement SegmentedHashMap#default I'm not exactly sure what the previous implementation would've done, but it sure wouldn't have been what you wanted. At the very least, the segment shift would've been wrong. * add default test case This will catch a faultily-implemented Default, such as for the previous version of SegmentedHashMap * Rewrite or update all documentation (#18) * update SegmentedHashMap module and struct docs A fair amount of this is copied from the documentation of std::collections::HashMap. * update SegmentedHashMap constructor documentation * update SegmentedHashMap#capacity documentation Note to self: update the segment module documentation to explain what a segment is. Also, update the crate documentation to explain the lockfree hash table algorithm. * update SegmentedHashMap#get* docs The standard library is a little terser when referring to the requirements on `Q`, which is a nice change. * update SegmentedHashMap#insert* docs * update SegmentedHashMap#insert_*or_modify* docs goodness is this a lot of functions to maintain * update SegmentedHashMap#remove* docs * update SegmentedHashMap#remove_*if* docs * update SegmentedHashMap#modify docs * update HashMap documentation this is 100% copy-pasted from the SegmentedHashMap documentation I wrote, except when it shouldn't have been. * update segment module documentation The new documentation explains the basics of segmented hash tables, as well as the likely performance wins and losses for using it instead of the regular hash table. * update crate-level documentation Describe, in *excruciating* detail, the gory details of the hash table algorithm. * update README.md Shill for SegmentedHashTable a little bit * bump version to 0.4.1
- Loading branch information