Daniel James
601b8d0378
Include vector header, needed to get the iterator type
2018-03-29 21:57:52 +01:00
Daniel James
60f5e0d393
Add explicit allocator to vector<bool> overloads
...
Needed when container_fwd.hpp is used, as it doesn't specify the default
arguments.
2018-03-29 19:57:49 +01:00
Daniel James
e67d20d1c3
Fix std::vector<bool> with libc++
...
Temporary fix for:
https://svn.boost.org/trac10/ticket/13501
Will have a more general fix in 1.68.0
2018-03-29 19:14:56 +01:00
Daniel James
d20a68efdb
Move headers into top level of container_hash directory
2018-01-27 11:48:59 +00:00
Daniel James
d45e3986f3
Remove forwarding headers in container_hash
2018-01-27 11:47:09 +00:00
Daniel James
27b2732916
Make hash_value(monostate) inline
2018-01-21 21:09:50 +00:00
Daniel James
4d9f438823
std::variant, std::monostate support
2018-01-21 19:28:33 +00:00
Daniel James
ddc05d17df
std::optional support
2018-01-21 19:28:33 +00:00
Daniel James
b9ae7e7fb6
Clean up header detection for more headers + add optional
2018-01-21 18:21:46 +00:00
Daniel James
42bb81befa
Support std::error_code and std::error_condition
2018-01-21 14:31:31 +00:00
Daniel James
5c4edf4d7d
Fix string_view include on gcc 7.2
...
If it's included in anything earlier than c++-1z it errors.
2018-01-20 21:53:36 +00:00
Daniel James
def7a785a5
Remove some pointless code
2018-01-20 18:39:46 +00:00
Daniel James
8b77644ea0
Support std::string_view
2018-01-20 17:37:55 +00:00
Daniel James
6ca88a8146
Add forwarding headers at old locations
2017-12-29 14:12:03 +00:00
Daniel James
53fbb04e88
Move 'functional' headers and update paths
2017-12-29 13:58:48 +00:00
Daniel James
376000169c
Manually write out tuple overloads
...
A tad more usable this way.
2017-12-19 17:48:48 +00:00
Daniel James
bc09240437
Update paths for headers moved to different modules
...
Makes it easier to see dependencies.
2017-12-19 17:48:18 +00:00
Daniel James
4a4cb9f7a4
Use is_zero workaround on clang
...
The same warning appears on clang for windows, but the workaround wasn't
used because the gcc macro wasn't defined.
2017-09-19 12:42:01 +01:00
Daniel James
9c82e48bc9
Support for char16_t, char32_t, u16string, u32string
2017-05-31 22:19:54 +01:00
Daniel James
1b3bed82aa
Initial support for char32_t
2017-05-31 10:17:34 +01:00
Daniel James
7159a86166
Only support std::wstring when wchar_t is available
...
This hopefuly fixes #8552 .
https://svn.boost.org/trac/boost/ticket/8552
2016-11-18 15:13:46 +00:00
Daniel James
d0ee8e13bd
Support for removed function objects in C++17
...
std::unary_function and std::binary_function are removed in C++17, and
Visual C++ is the first compiler to do this (when the appropriate macro
is defined). I'm not sure what the long term solution should be, but
hopefully this will work for now.
2016-11-01 16:31:21 +00:00
Daniel James
36545f62cf
Try to avoid more warnings
2016-10-11 10:07:11 +01:00
Daniel James
c2764e22a7
Another signed conversion warning
2016-10-05 09:49:27 +01:00
Daniel James
b0ddb244be
Fix signed conversion warnings.
2016-09-30 09:25:44 +01:00
Daniel James
7838c3678f
Merge branch 'develop' (early part)
2016-06-26 20:32:22 +01:00
Marshall Clow
468516ed71
Fix a typo in a comment; fixes https://svn.boost.org/trac/boost/ticket/12270
2016-06-14 17:24:30 -07:00
Daniel
8171dbb465
Fix the binary 32 and 64 bit hash functions.
2016-02-28 09:14:37 +00:00
Billy Donahue
8b05fd5fdf
doc: BOOST_HASH_SPECIALIZE_REF passes by const ref
2015-09-12 17:12:02 -04:00
Andy Webber
754d5f535e
Fixed strict aliasing violation.
...
Changed C-style cast and dereference to std::memcpy. Exactly mirrors other code already in the file.
2015-01-05 19:35:34 +00:00
Daniel James
309d17f387
Another try at an improved hash function.
...
This is based on the mix function from MurmurHash. It's not the full
algorithm as it's always seeded with 0, and doesn't do a final mix. This
should be okay as Boost.Hash doesn't claim to avalanche the bits.
2014-02-23 10:17:08 +00:00
Daniel James
bb2a91bf47
Improved(?) hash function.
...
Given the existing interface, it's quite tricky to use most popular hash
functions without a change, so I'm using a modified version of FNV1a.
The current function always starts with a seed of 0 (and will in user
functions), so I'm adding the offset each time instead. I'm not sure if
that will work as well.
2014-01-28 23:33:25 +00:00
Stephen Kelly
09f197abf6
Functional: Remove obsolete MSVC version checks.
...
[SVN r86051]
2013-12-10 23:41:55 +00:00
Daniel James
582671543b
Use BOOST_HAS_PRAGMA_ONCE
.
...
Remembering to first include config, so that it'll actually be defined.
[SVN r86726]
2013-12-10 23:41:13 +00:00
Stephen Kelly
6157ad5267
Remove obsolete MSVC check from pragma guard
...
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq
is now clean.
[SVN r85952]
2013-12-10 23:40:59 +00:00
Daniel James
7dbc8b593f
Revert changes to develop branch.
...
Simplest way to merge to master.
2013-12-10 23:18:52 +00:00
Daniel James
b066a9c509
Use BOOST_HAS_PRAGMA_ONCE
.
...
Remembering to first include config, so that it'll actually be defined.
[SVN r86726]
2013-11-16 20:13:24 +00:00
Daniel James
74603822f4
Only use Visual C++ pragma for appropriate versions.
...
[SVN r86671]
2013-11-12 22:09:42 +00:00
Stephen Kelly
614feab582
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
Process #ifndef...#else...#endif blocks.
[SVN r86245]
2013-10-11 23:17:48 +00:00
Stephen Kelly
999c2d5963
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
Process #ifdef...#endif blocks.
[SVN r86243]
2013-10-11 23:13:10 +00:00
Daniel James
734eb87d2a
Simplify SFINAE for largest float overload. Refs #8822 .
...
I accidentally missed it out. Also fix the return values.
[SVN r86172]
2013-10-06 08:02:35 +00:00
Stephen Kelly
af17fa46fb
Functional: Remove obsolete GCC version checks.
...
[SVN r86112]
2013-10-01 08:46:45 +00:00
Stephen Kelly
e26c102522
Functional: Remove obsolete MSVC version checks.
...
[SVN r86051]
2013-09-30 11:22:29 +00:00
Stephen Kelly
378007cf94
Remove obsolete MSVC check from pragma guard
...
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq
is now clean.
[SVN r85952]
2013-09-26 13:02:51 +00:00
Daniel James
dea8d12a04
Fix Visual C++ warning in hash. Refs #8568 .
...
I changed this a little from the patch on #8568 . I moved the pragmas to the
start and end of the file because I don't like to little the body of the code
with them (this does mean I've disabled a potentially useful warning, but the
code is pretty stable nowadays).
I also removed the version checks, as the warning should be present in later
versions.
[SVN r85248]
2013-08-08 22:01:18 +00:00
Daniel James
1870aa9534
Simpler test for appropriate floats for binary hashing. Refs #8822 .
...
No idea if this will actually fix it.
[SVN r85246]
2013-08-08 20:30:04 +00:00
Thomas Heller
7e162c4f03
Fixing UB by using memcpy instead of old style cast
...
[SVN r82218]
2012-12-27 10:49:19 +00:00
Daniel James
8a8ab9ec70
Hash: Fix int128 with BOOST_HASH_NO_EXTENSIONS.
...
I don't think int128 should count as an extension.
BOOST_HASH_NO_EXTENSIONS is actually a bit of a pain, and I don't think it's
that useful. Maybe I should deprecate it.
[SVN r81870]
2012-12-12 09:44:32 +00:00
Daniel James
13a86a7a26
Hash: Fix int128 support.
...
[SVN r81854]
2012-12-11 15:48:19 +00:00
Daniel James
0e0906b0a4
Hash: Support boost::int128_type.
...
[SVN r81816]
2012-12-10 10:40:44 +00:00