Releases: Tessil/array-hash
Releases · Tessil/array-hash
v0.7.2
v0.7.1
v0.7.0
- Rename CMake project name from
tsl_array_hashtotsl-array-hashfor coherence with the convention used by most package managers. Thefind_package(tsl-array-hash)command must now be used instead of thefind_package(tsl_array_hash). - Check that
InputItis an iterator to enable the insert functions with iterators. This prevents some potential overload conflicts between insert functions. - Use
std::hash<std::basic_string_view<CharT>>as default hash function instead of FNV-1a ifstd::string_viewis detected. - Bug correction, set a moved hash map/set in a valid state so that it can still be used even after a move (#4).
- Fix bug in
tsl::array_set::operator==(...). Wrong find was called. - Bug correction. When using a
CharTother thanchar, a compilation error will occur if some methods usingstd::strlenare called. Usestd::char_traits<CharT>::lengthwhich is the proper way. - Force the
max_load_factorto be at least 0.1. - Add support for efficient serialization (#5).
- Fix CMake >= 3.13 warning on Policy CMP0076 and add quotes to paths.
- Fix bug where using
rehash(0)on an empty map with abucket_count> 0 would result in an invalidm_bucketspointer leading to potential segfaults. - Set bucket count for default contructed map/set to 0 to avoid any allocation.
- Fix bug in
load_factor()when bucket_count was equal to 0. - Fix compilation error with GCC 9, the implicit copy/move constructor/operator of the iterator were not generated.
v0.6.0
v0.5.0
This release introduce a minor backward incompatibility by moving the headers files.
- Move the header files from
tsltoinclude/tslfor more coherence with other C++ libraries. - For CMake users, add an exported target
tsl::array_hashto be used withtarget_link_libraries.
v0.4.0
- On range insert in
tsl::array_map, try to move the values when possible (e.g. if the iterators arestd::move_iterator). - Fix range erase method, take care of the invalidation of the iterators on erase.
- Put growth policies in
tsl::ahnamespace instead of using a suffix. - Put growth policies in their own header file and add
tsl::ah::mod_growth_policy.
v0.3.0
- Move header files from
srcdirectory totsldirectory. - Add
insert_or_assignmethod. - Add methods taking a precalculated hash in parameter.
- Bug correction in
equal_range, the second iterator was always equal to the first. - Rename
tsl::str_hashtotsl::str_hash_ah,tsl::str_equaltotsl::str_equal_ahandtsl::power_of_two_growth_policytotsl::power_of_two_growth_policy_ahto avoid any conflict with my other libraries in the tsl namespace.
v0.2.0
First release
v0.1.0 Update documentation.