Peter Dimov
88aacb6d46
Remove trailing whitespace
2025-06-08 23:23:14 +03:00
joaquintides
0a000167b7
Feature/hash_is_avalanching ( #40 )
...
* added hash_is_avalanching
* launched CI after enabling GHA
* moved 1.89 entry from Change Log to Recent Changes
* segregated some tests into hash_is_avalanching_test3.cpp and gotten rid of Unordered dependency
* removed unneeded include
* stopped using external std::hash for testing
* typo
* removed left over include
* typo
* moved hash_is_avalanching from boost::container_hash to boost
* fixed specializations of boost::hash_is_avalanching
2025-05-28 12:05:10 +03:00
Peter Dimov
6957a20ab1
Avoid compilation errors caused by iterator_traits<void*>. Refs #36 .
2024-03-05 18:19:19 +02:00
Peter Dimov
7288df8bee
Fix is_tuple_like for cv-qualified types under old compilers
2023-12-08 02:00:22 +02:00
Peter Dimov
41746c0bdb
Cosmetic fixes
2023-10-12 20:19:57 +03:00
Peter Dimov
17201433f8
Remove unnecessary file
2023-10-12 14:41:23 +03:00
Peter Dimov
9d09674f08
Work around libstdc++ not considering __int128 integral
2023-10-12 14:24:00 +03:00
Peter Dimov
f8ecd66820
Move integrals to detail/hash_integral.hpp
2023-10-12 14:06:56 +03:00
Peter Dimov
565bac8d31
Remove C++03 workarounds
2023-10-12 13:57:41 +03:00
Peter Dimov
e798972130
Update C++03 deprecation message
2023-06-03 02:27:41 +03:00
Peter Dimov
1958e96561
Add C++03 deprecation notice
2023-03-05 02:38:16 +02:00
Peter Dimov
8ce81c361d
Fix /RTCc violations because Unordered tests with it
2023-02-03 20:57:47 +02:00
Peter Dimov
6373656710
Avoid -Wlong-long under C++03
2023-02-02 07:29:03 +02:00
Peter Dimov
ec1503bbc8
Hardcode q*q to avoid 'integral constant overflow' warnings
2023-02-02 06:15:01 +02:00
Peter Dimov
ee064dc7f8
Avoid -Wconversion warnings
2023-02-02 06:11:47 +02:00
Peter Dimov
6075f3e1f5
Change 64 bit hash_range for char[] to mulxp1_hash
2023-02-02 06:00:00 +02:00
Peter Dimov
0bfeabfd63
Hardcode q*q to avoid 'integral constant overflow' warnings
2023-02-02 05:20:06 +02:00
Peter Dimov
640bd48f51
Avoid -Wconversion warning for p[x1]
2023-02-02 04:54:10 +02:00
Peter Dimov
6fe3469a8b
Replace hash_range for char[] with mulxp1_hash32
2023-02-02 04:42:42 +02:00
Peter Dimov
c07630ac60
Add read32le to detail/hash_range.hpp
2023-02-02 04:09:54 +02:00
Peter Dimov
5bef4901b9
Add a pointer overload for detail::hash_range under msvc
2022-12-09 21:12:30 +02:00
Peter Dimov
c0c70e5b3e
Add support for tuple-like types. Refs #30 .
2022-11-28 16:59:35 +02:00
Peter Dimov
891a64d45d
Add is_tuple_like to hash_fwd.hpp
2022-11-28 15:55:25 +02:00
Peter Dimov
1a8dca4f2c
Disable is_tuple_like for msvc-12.0 and earlier
2022-11-28 05:15:06 +02:00
Peter Dimov
8761157a19
Merge branch 'develop' into feature/is_tuple_like
2022-11-28 03:13:35 +02:00
Peter Dimov
f2b2ef4ebe
Avoid warning 4100 under early MSVC
2022-11-28 01:59:32 +02:00
Peter Dimov
c61a4f691e
Add boost::container_hash::is_tuple_like. Refs #30 .
2022-11-27 21:20:19 +02:00
Peter Dimov
fe28cdbd1f
Add boost::hash_value for std::nullptr_t. Refs #29 .
2022-11-27 20:13:52 +02:00
Peter Dimov
f51f68fe93
Do not use the u8string and u8string_view typedefs, because char8_t availability does not guarantee their presence
2022-10-30 03:01:05 +02:00
Peter Dimov
0d2266decb
Specialize boost::unordered::hash_is_avalanching for hash<string> and hash<string_view>
2022-10-30 02:47:10 +03:00
Peter Dimov
018fc4e1fa
Add support for described classes to hash.hpp
2022-10-28 19:35:10 +03:00
Peter Dimov
7568176bfa
is_described_class should be false for unions
2022-10-28 18:42:07 +03:00
Peter Dimov
16fb4cc749
Add is_described_class to hash_fwd.hpp; include it in hash.hpp
2022-10-28 03:32:18 +03:00
Peter Dimov
0171246a61
Add is_described_class<T>
2022-10-28 01:47:27 +03:00
Peter Dimov
df1671d593
msvc-14.0 doesn't quite have expression SFINAE. Fixes #28 .
2022-10-26 19:38:53 +03:00
Peter Dimov
e92eae9eb2
Treat char8_t and std::byte as char types in hash_range
2022-09-20 21:17:41 +03:00
Peter Dimov
8bb7d43646
Simplify hash_value for floating point
2022-09-20 15:01:45 +03:00
Peter Dimov
a426a1939f
Honor __FLOAT_WORD_ORDER__ for 128 bit long double
2022-09-20 14:52:19 +03:00
Peter Dimov
034b81594d
Update 128 bit long double hash_value
2022-09-20 14:49:37 +03:00
Peter Dimov
79fff9e1ea
Add is_contiguous_range_test2
2022-09-18 14:26:30 +03:00
Peter Dimov
b148e34818
Fix 64 bit hash_mix multiplier
2022-09-17 02:34:14 +03:00
Peter Dimov
e391cf6841
Change hash_detail::hash_range to take and return by value to avoid It=char* aliasing
2022-09-17 01:09:47 +03:00
Peter Dimov
f47772f6f4
Implement faster hash_range when value_type is char
2022-09-16 21:25:20 +03:00
Peter Dimov
4b5a1cf0f2
Update complex hashing to use hash_mix
2022-09-16 19:48:36 +03:00
Peter Dimov
3fe7bbdd6c
Update floating point hashing to use hash_mix
2022-09-16 19:23:07 +03:00
Peter Dimov
8adcaffcc2
Update integral hashing to use hash_mix
2022-09-16 19:16:45 +03:00
Peter Dimov
40ec854466
Add hash_mix, change hash_combine to use it
2022-09-16 18:57:21 +03:00
Peter Dimov
882192ea3a
Update workaround for Dinkumware stdext::hash_value
2022-09-16 01:56:24 +03:00
Peter Dimov
ce734b435e
Implement boost::hash_unordered_range
2022-09-15 18:00:04 +03:00
Peter Dimov
c399cf6a38
Add traits to hash_fwd.hpp
2022-09-13 20:10:35 +03:00