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 |
|
Peter Dimov
|
30c32bb3df
|
Move traits headers from container_hash/detail/ to container_hash/
|
2022-09-13 19:45:45 +03:00 |
|
Peter Dimov
|
d1b2640dff
|
Move type classification traits from namespace hash_detail to namespace container_hash
|
2022-09-13 19:37:15 +03:00 |
|