Releases: Tessil/array-hash
Releases · Tessil/array-hash
v0.7.1
v0.7.0
- Rename CMake project name from
tsl_array_hash
totsl-array-hash
for 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
InputIt
is 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_view
is 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
CharT
other thanchar
, a compilation error will occur if some methods usingstd::strlen
are called. Usestd::char_traits<CharT>::length
which is the proper way. - Force the
max_load_factor
to 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_buckets
pointer 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
tsl
toinclude/tsl
for more coherence with other C++ libraries. - For CMake users, add an exported target
tsl::array_hash
to 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::ah
namespace 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
src
directory totsl
directory. - Add
insert_or_assign
method. - 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_hash
totsl::str_hash_ah
,tsl::str_equal
totsl::str_equal_ah
andtsl::power_of_two_growth_policy
totsl::power_of_two_growth_policy_ah
to avoid any conflict with my other libraries in the tsl namespace.
v0.2.0
First release
v0.1.0 Update documentation.