Billy Donahue
2a0d1be60b
doc: BOOST_HASH_SPECIALIZE_REF passes by const ref
2015-09-12 17:12:02 -04:00
Daniel James
188c8d4c5d
Change default factory allocator to 'void'.
...
To remove the dependency on Boost.Optional. Supplied a macro for
backwards compatibility, but that will be removed in a future release.
2015-01-10 13:08:03 +00:00
Andrzej Krzemieński
28796cd2db
removed unused header
...
this decouples this library from Boost.Optional
2015-01-05 19:36:57 +00:00
Andy Webber
d5dc5033d2
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
64e85476f1
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
c965760ea1
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
e961a8a2f8
Functional: Remove obsolete MSVC version checks.
...
[SVN r86051]
2013-12-10 23:41:55 +00:00
Daniel James
fb01de460f
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
9cd62829ee
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
b5e6678553
Revert changes to develop branch.
...
Simplest way to merge to master.
2013-12-10 23:18:52 +00:00
Daniel James
612861ab0d
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
3f4d17c5e7
Only use Visual C++ pragma for appropriate versions.
...
[SVN r86671]
2013-11-12 22:09:42 +00:00
Stephen Kelly
dd73970b1e
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
Process #ifndef...#else...#endif blocks.
[SVN r86245]
2013-10-11 23:17:48 +00:00
Stephen Kelly
3ac96347ba
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
Process #ifdef...#endif blocks.
[SVN r86243]
2013-10-11 23:13:10 +00:00
Daniel James
92e607de34
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
6d25b771bd
Functional: Remove obsolete GCC version checks.
...
[SVN r86112]
2013-10-01 08:46:45 +00:00
Stephen Kelly
e887c416a6
Functional: Remove obsolete MSVC version checks.
...
[SVN r86051]
2013-09-30 11:22:29 +00:00
Stephen Kelly
29d7468979
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
b1790e463e
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
670e7b3736
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
7cc6744ff6
Fixing UB by using memcpy instead of old style cast
...
[SVN r82218]
2012-12-27 10:49:19 +00:00
Daniel James
75ffe88f82
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
f572834b59
Hash: Fix int128 support.
...
[SVN r81854]
2012-12-11 15:48:19 +00:00
Daniel James
5fcfd1ae38
Hash: Support boost::int128_type.
...
[SVN r81816]
2012-12-10 10:40:44 +00:00
Daniel James
8a0c516b22
Hash: Detab.
...
[SVN r81787]
2012-12-08 09:19:24 +00:00
Daniel James
407df60e3e
Hash: Remove container_fwd_0x.hpp
...
[SVN r81678]
2012-12-02 21:12:24 +00:00
Daniel James
2380fd919e
Hash: Don't use workarounds with recent compilers. #7221 , #7470
...
[SVN r81677]
2012-12-02 21:11:45 +00:00
Marshall Clow
89fd55fa96
Removed missed usage of deprecated macros in Boost.Functional
...
[SVN r81578]
2012-11-26 21:45:20 +00:00
Daniel James
376d6bd5eb
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
9c2c4bb1fa
Narrower 'using'; Refs #7470
...
[SVN r81122]
2012-10-31 17:14:43 +00:00
Daniel James
9ad9e2537c
Remove deprecated header boost/functional/detail/container_fwd.hpp
...
[SVN r80288]
2012-08-28 17:43:05 +00:00
Daniel James
945d78bc4f
Hash: Avoid type punning warning.
...
[SVN r80217]
2012-08-25 20:54:10 +00:00
Daniel James
2f6cb78b80
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
b286131642
Hash: Quick attempt at supporting enums.
...
Thanks to Filip Konvička.
[SVN r80139]
2012-08-22 11:40:27 +00:00
Daniel James
75aeb563ae
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
d7589fdd71
Compile error for deprecated header boost/functional/detail/container_fwd.hpp.
...
[SVN r79652]
2012-07-22 07:15:34 +00:00
Daniel James
1a126042f8
Hash: Fix smart pointer macro check.
...
[SVN r79527]
2012-07-15 07:43:40 +00:00
Daniel James
84d32ce136
Hash: std::shared_ptr, std::unique_ptr support.
...
[SVN r79516]
2012-07-14 22:32:29 +00:00
Marshall Clow
e723967c7e
Switch from deprecated macros to new shiny ones; no functionality change
...
[SVN r79392]
2012-07-09 20:12:04 +00:00
Daniel James
9f2652ae07
Hash: Remove stary semicolon from deprecation pragma.
...
[SVN r78635]
2012-05-26 15:02:26 +00:00
Daniel James
f88d46a03a
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
f54e6e8af1
Hash: Use SFINAE to avoid implicit casts to numbers.
...
[SVN r78391]
2012-05-08 22:24:46 +00:00
Lorenzo Caminiti
37f91f600d
Using all lower case section IDs.
...
[SVN r78233]
2012-04-28 02:21:15 +00:00
Daniel James
dfa8524f2f
Hash: Some formatting.
...
[SVN r78164]
2012-04-23 20:49:30 +00:00
Daniel James
7444eee62b
Hash: Support std::array and std::tuple. Refs #6806 .
...
[SVN r78144]
2012-04-22 19:46:28 +00:00
Lorenzo Caminiti
90b94a9560
Forcing type-of emulation on Sun.
...
Trying to fix OverloadedFunction pp bug on Sun by removing SUB on iteration range (doing ADD on iteration index instead).
[SVN r77940]
2012-04-12 21:12:28 +00:00
Lorenzo Caminiti
094516d686
Added some tests to figure out pp problem with OverloadedFunciton on Sun.
...
[SVN r77925]
2012-04-11 20:55:54 +00:00
Lorenzo Caminiti
c5a4dc3db1
Commented out some code in overloaded_function to try to see what breaks on Sun.
...
[SVN r77900]
2012-04-10 21:09:36 +00:00
Lorenzo Caminiti
f6beb74abb
Updated docs.
...
[SVN r77899]
2012-04-10 20:42:53 +00:00
Lorenzo Caminiti
9e7ccedcfe
Added a specialization to deduced F from boost::function<F> removing the need to register boost::function for type-of emulation (because it required to register boost::functionN instead of boost::function and that was confusing).
...
[SVN r77891]
2012-04-10 19:17:41 +00:00