Path to this page:
./
devel/robin-map,
C++ implementation of a fast hash map and hash set
Branch: CURRENT,
Version: 1.3.0,
Package name: robin-map-1.3.0,
Maintainer: pkgsrc-usersThe robin-map library is a C++ implementation of a fast hash map and hash
set using open-addressing and linear robin hood hashing with backward shift
deletion to resolve collisions.
Master sites:
Filesize: 68.908 KB
Version history: (Expand)
- (2024-08-04) Updated to version: robin-map-1.3.0
- (2021-01-18) Package added to pkgsrc.se, version robin-map-0.6.3 (created)
CVS history: (Expand)
2024-08-04 09:18:56 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
robin-map: updated to 1.3.0
v1.3.0
Add erase_fast(iterator pos) method which in contrast to erase(iterator pos) \
doesn't return an iterator, avoiding the cost of looking for the next element \
after erasure of the element at iterator pos.
v1.2.2
Specify library version & versioning rules in headers
Mark error_message in numeric_cast as unused to avoid compiler warning in some cases
Remove support for CMake < 3.3
v1.2.1
Fix missing project version increment in CMake
v1.2.0
This release fixes a rare but critical bug which only occurs when a very long \
collision chain (> 32 767) occurs due to a poor hash function, see first \
bullet point. Upgrade is recommended.
Keep rehashing if dist_from_ideal_bucket is > DIST_FROM_IDEAL_BUCKET_LIMIT \
during insertion
During insertion a check was done on dist_from_ideal_bucket to be sure it \
doesn't becomes bigger than DIST_FROM_IDEAL_BUCKET_LIMIT but this was only done \
during the robin swap. A check should also be done beforehand if we find an \
empty bucket otherwise the variable could overflow and lead to bugs. This commit \
adds this check.
The bug should only manifest itself if the collision chain becomes larger than \
32 767 due to a very poor hash function.
Disable CMake install rule if robin_map is used as subproject
Replace deprecated std::aligned_storage since C++23 by alignas
Raise DIST_FROM_IDEAL_BUCKET_LIMIT to 8192
Clear and shrink the moved hash table in the move operator to be coherent with \
the move constructor
When using C++17, std::launder the reinterpreted pointer from \
std::aligned_storage to adapt to the change of object model introduced in \
P0137R1. Fix potential but very unlikely undefined behaviour.
C++17 introduced a change in the object model with P0137R1 which now requires \
the reinterpreted pointer from std::aligned_storage to be laundered. See the \
following discussion for some details \
https://stackoverflow.com/questions/47735657/does-reinterpret-casting-stdaligned-storage-to-t-without-stdlaunder-violat
When exceptions are disabled, only print the error message when \
defined(TSL_DEBUG) instead of !defined(NDEBUG)
Check that bucket_count doesn't exceed max_bucket_count() after the constructor \
initialization
max_bucket_count() method relies on m_buckets_data which needs to be properly \
initialized first
|
2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016) |
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Could not be committed due to merge conflict:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
|
2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017) |
Log message:
devel: Remove SHA1 hashes for distfiles
|
2021-01-18 13:01:11 by Nia Alarie | Files touched by this commit (5) |
Log message:
add devel/robin-map
The robin-map library is a C++ implementation of a fast hash map and hash
set using open-addressing and linear robin hood hashing with backward shift
deletion to resolve collisions.
|