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
Daniel James
67ad8c2151
Hash: Detab.
...
[SVN r81787]
2012-12-08 09:19:24 +00:00
Daniel James
8afae2e762
Hash: Remove container_fwd_0x.hpp
...
[SVN r81678]
2012-12-02 21:12:24 +00:00
Daniel James
03380087a9
Hash: Don't use workarounds with recent compilers. #7221 , #7470
...
[SVN r81677]
2012-12-02 21:11:45 +00:00
Marshall Clow
9dcc33ab1b
Removed missed usage of deprecated macros in Boost.Functional
...
[SVN r81578]
2012-11-26 21:45:20 +00:00
Daniel James
dfd48ef498
Hash: Revert r81122. Refs #7470 .
...
I'll get back to this later, it probably requires compiler specific changes.
[SVN r81124]
2012-10-31 19:05:25 +00:00
Marshall Clow
a2756e75e8
Narrower 'using'; Refs #7470
...
[SVN r81122]
2012-10-31 17:14:43 +00:00
Daniel James
853a713cf2
Remove deprecated header boost/functional/detail/container_fwd.hpp
...
[SVN r80288]
2012-08-28 17:43:05 +00:00
Daniel James
7b2f73c225
Hash: Avoid type punning warning.
...
[SVN r80217]
2012-08-25 20:54:10 +00:00
Daniel James
eec47991f9
Hash: A single unified algorithm for hashing floats.
...
Attempts to automatically use a binary hash for floats where it's known to
work, and then use the generic hash algorithm as a fallback.
[SVN r80177]
2012-08-24 22:52:42 +00:00
Daniel James
05f16beaf0
Hash: Quick attempt at supporting enums.
...
Thanks to Filip Konvička.
[SVN r80139]
2012-08-22 11:40:27 +00:00
Daniel James
9119b2646b
Hash: Remove C++11 forward declarations.
...
It seems that on Visual C++ Dinkumware declares shared_ptr in std, but for
Intel C++ it imports it from std::tr1. I was thinking of doing a macro check
for this, but since we're close to release, just change it to always include
the headers and never forward declare the C++11 classes, which is much safer.
I might restore the forward declarations in the future, although I'm tempted
not to. I'm not sure the improvement in compile time is worth the hassle.
[SVN r80038]
2012-08-14 20:06:07 +00:00
Daniel James
92fe67f714
Compile error for deprecated header boost/functional/detail/container_fwd.hpp.
...
[SVN r79652]
2012-07-22 07:15:34 +00:00
Daniel James
5ebe3ad87d
Hash: Fix smart pointer macro check.
...
[SVN r79527]
2012-07-15 07:43:40 +00:00
Daniel James
411ac66581
Hash: std::shared_ptr, std::unique_ptr support.
...
[SVN r79516]
2012-07-14 22:32:29 +00:00
Marshall Clow
af3a31090c
Switch from deprecated macros to new shiny ones; no functionality change
...
[SVN r79392]
2012-07-09 20:12:04 +00:00
Daniel James
6be66ba092
Hash: Remove stary semicolon from deprecation pragma.
...
[SVN r78635]
2012-05-26 15:02:26 +00:00
Daniel James
0d4c55854b
Add warning to deprecated header boost/functional/detail/container_fwd.hpp.
...
Should have done this years ago, removing this header should make
modularization a tad bit cleaner.
[SVN r78533]
2012-05-21 21:58:18 +00:00
Daniel James
8bc410f571
Hash: Use SFINAE to avoid implicit casts to numbers.
...
[SVN r78391]
2012-05-08 22:24:46 +00:00
Daniel James
441cea413d
Hash: Some formatting.
...
[SVN r78164]
2012-04-23 20:49:30 +00:00
Daniel James
98953a28c7
Hash: Support std::array and std::tuple. Refs #6806 .
...
[SVN r78144]
2012-04-22 19:46:28 +00:00
Daniel James
f98a942e2e
Unordered/hash: Avoid a gcc warning. Refs #6771
...
[SVN r77832]
2012-04-08 15:29:15 +00:00
Daniel James
ce885af9b0
Fix copy and paste typo. Refs #4756 .
...
[SVN r68182]
2011-01-16 11:06:00 +00:00
Daniel James
9e641187c6
Oops, make new hash_value overload inline.
...
[SVN r68147]
2011-01-14 03:36:39 +00:00
Daniel James
7dc95d044d
Support typeindex in hash. Refs #4756 .
...
[SVN r68145]
2011-01-14 03:13:39 +00:00
Daniel James
ed598f865e
Fix tabs and files without copyright.
...
[SVN r67612]
2011-01-03 12:43:34 +00:00
Daniel James
482f038837
Avoid -Wconversion warnings in unordered & hash.
...
[SVN r67170]
2010-12-11 14:43:00 +00:00
Daniel James
577054de93
Fix hashing pointers on 64-bit OpenVMS.
...
Patch by Artyom. Refs #4477
[SVN r64397]
2010-07-27 19:18:53 +00:00
Daniel James
fc3b3863b4
Only include static_assert when necessary.
...
[SVN r64009]
2010-07-14 08:28:04 +00:00
Daniel James
906f632706
Actually, make the change to hash opt-in, rather than opt-out. It's a bit late to introduce a breaking change.
...
[SVN r64007]
2010-07-14 08:17:48 +00:00
Daniel James
bbfb6fd32c
Release notes for hash.
...
[SVN r63810]
2010-07-10 13:47:47 +00:00
Daniel James
2553a5fbdc
Try preventing static casts when calling hash_value.
...
[SVN r63716]
2010-07-06 23:32:37 +00:00