Daniel James
5c5ff11ee0
Clean up the 64-bit std::size_t workaround and hopefully suppress the warning
...
on 32-bit Visual C++.
[SVN r37694]
2007-05-15 19:44:46 +00:00
Andreas Huber
d2b04d968c
Merged L & C issue fixes from trunk to branch.
...
[SVN r36246]
2006-12-02 14:17:26 +00:00
Daniel James
bb548f8100
Update the Digital Mars workarounds for the latest version.
...
[SVN r34526]
2006-07-13 07:54:41 +00:00
Daniel James
63f3778db3
Add support for long long on win64 as that's the only 64-bit type on that platform (and std::size_t is 64 bit).
...
[SVN r34287]
2006-06-12 17:58:12 +00:00
Daniel James
a302ecffab
Get hashing std::size_t working on 64-bit Visual C++.
...
[SVN r34253]
2006-06-08 22:12:16 +00:00
Daniel James
1b625ac7ab
Merge VC7 workaround from HEAD.
...
[SVN r34197]
2006-06-06 17:38:38 +00:00
Daniel James
0785097bac
Merge hash workarounds for Digital Mars to the release branch.
...
[SVN r34036]
2006-05-20 07:34:48 +00:00
Daniel James
bda8f4845d
Merge OS X hash float fix from head to rc_1_34_0.
...
[SVN r33917]
2006-05-03 18:34:43 +00:00
Daniel James
962f978081
Update the copyright comments in the hash headers.
...
[SVN r33370]
2006-03-18 15:54:53 +00:00
Daniel James
39255c201d
Don't forward declare STL containers when using STLport - this is slightly over the top as the forward declarations seem to work on mingw-3_4_4-stlport-5_0, so maybe it's just a Visual C++ problem, but at this stage I'd rather keep things simple.
...
[SVN r33178]
2006-02-28 20:47:59 +00:00
Daniel James
1814f98a27
Reintroduce workaround for hashing const built-in array on Visual C++.
...
[SVN r33164]
2006-02-28 00:49:14 +00:00
Daniel James
7d6f6fe0b4
Remove TODO note to self.
...
For the record: I removed the overload because it was causing an ambiguity that I was too lazy to work out at the time. It turned out this was because wchar_t was defined as unsigned short - using BOOST_NO_INTRINSIC_WCHAR_T was the right way to deal with this so the overload no longer needs to be disabled.
[SVN r33114]
2006-02-26 15:58:37 +00:00
Daniel James
6b0b4bb486
Fix a typo in the workaround code for compilers without partial specialization.
...
[SVN r33104]
2006-02-25 15:17:01 +00:00
Daniel James
3382c46b6d
Use _fpclass and fpclassify on less platforms. Hopefully will use them more widely after the release.
...
[SVN r33047]
2006-02-21 00:12:36 +00:00
Daniel James
ae412b3215
Add support for the BOOST_HASH_NO_EXTENSIONS macro.
...
[SVN r32900]
2006-02-13 18:21:20 +00:00
Daniel James
5bdae3b096
In hash_float, only use _fpclass on Visual C++, I'll find out about other compilers later.
...
[SVN r32833]
2006-02-11 21:15:15 +00:00
Daniel James
9d41ce0eda
A couple of workarounds for Digital Mars.
...
[SVN r32786]
2006-02-09 19:22:54 +00:00
Daniel James
b5058c7e75
Hold your nose, it's a Visual C++ 6.5 workaround. For some reason it requires
...
boost::hash to define operator() taking const and non-const arguments.
[SVN r32783]
2006-02-09 19:11:54 +00:00
Daniel James
2dcf38a04a
Use fpclassify/_fpclass for the hash function on compilers where I
...
know it's available.
[SVN r32782]
2006-02-09 19:11:09 +00:00
Daniel James
a5844bc9bf
Since all the hash functions are now declared in a single header, there's no
...
need for the call_hash hack on compliant compilers. So only use it on
compilers where it's needed.
[SVN r32781]
2006-02-09 19:10:03 +00:00
Daniel James
534d526c90
Make hash_float.hpp use its own combine function. This serves two purposes:
...
1. hash_float is no longer dependent on the main hash header.
2. hash_float(0) == 0 which makes it easier to implement hash<complex>(),
although this might lead to users assuming that it can be expected even though
it isn't part of the documented interface.
[SVN r32780]
2006-02-09 19:07:33 +00:00
Daniel James
ffec55693b
Move all the boost/functional/hash/*.hpp files into a single file
...
(hash/hash.hpp for now, but will eventually move into hash.hpp), add warnings
that the old headers are deprecated.
[SVN r32778]
2006-02-09 18:57:07 +00:00
Daniel James
71641ebdcd
Move include errorno & limits from hash.hpp into hash_float where they should be.
...
[SVN r32777]
2006-02-09 18:55:35 +00:00
Daniel James
b626dc405e
Attempt to get container_fwd.hpp working on more compilers.
...
[SVN r32684]
2006-02-07 00:43:06 +00:00
Daniel James
7ea3aed050
Move the float hash function into its own header.
...
[SVN r32594]
2006-02-05 19:51:29 +00:00
Daniel James
9521ea7ea3
Use BOOST_WORKAROUND in boost/functional/hash/hash.hpp
...
[SVN r32589]
2006-02-05 16:31:45 +00:00
Daniel James
ebf1937e6d
Use hash_fwd.hpp in the main hash header.
...
[SVN r32588]
2006-02-05 16:27:19 +00:00
Daniel James
f2781366e0
Add a forward header for the hash functions.
...
[SVN r32586]
2006-02-05 16:03:43 +00:00
Daniel James
07c14534ec
Use container_fwd.hpp for the hash functions.
...
[SVN r32583]
2006-02-05 14:44:24 +00:00
Daniel James
38172001e5
Add std::pair, and a GCC 2.95 workaround to container_fwd.hpp
...
[SVN r32581]
2006-02-05 14:04:56 +00:00
Daniel James
66fa4c867b
Change container_fwd.hpp to cooperate with gcc stdlib++'s debug mode.
...
[SVN r32081]
2005-12-16 19:14:16 +00:00
Daniel James
4cad065b0e
Add char_traits support to the container_fwd header.
...
[SVN r31133]
2005-09-27 19:45:04 +00:00
Daniel James
5c61c91b36
Add STL forward declarations for the hash library (just for testing, not in use yet)
...
[SVN r31043]
2005-09-19 20:29:51 +00:00
John Maddock
328909eeb9
Large patch from Ulrich Eckhardt to fix support for EVC++ 4.
...
[SVN r30670]
2005-08-25 16:27:28 +00:00
Daniel James
b96ed7b984
Check errno after calling frexp - this is pretty slow and unecessary on most platforms, but this close to release it seems better to be over cautious.
...
[SVN r29255]
2005-05-28 12:10:33 +00:00
Daniel James
85593ea401
Initialise the exponent before calling frexp in the hash float function.
...
[SVN r29200]
2005-05-26 07:36:26 +00:00
Daniel James
638ca2658f
Another attempt at getting the hash array tests to pass on Borland.
...
[SVN r28390]
2005-04-21 22:20:43 +00:00
Daniel James
685cd00a7b
Another fix for the Borland hash array code, and get rid of my attempt at working around Borland problems with infinity and NaN in the hash float functions. It seems impossible to do anything with them.
...
[SVN r28286]
2005-04-17 09:09:42 +00:00
Daniel James
1db2d3a822
Remove workaround for bug in gcc 4.0 which appears to have been fixed.
...
[SVN r28282]
2005-04-16 16:59:30 +00:00
Daniel James
3bb76776e6
Overload hash_value for non-constant arrays.
...
[SVN r28276]
2005-04-16 10:32:29 +00:00
Daniel James
c62d82ea29
Use non-const references on Visual C++ 6.5 to work around a bug with array references.
...
On Borland add a pointer overload of hash_range to use instead of the array workaround that I checked in earlier today.
Fix the array size calculation for compilers with function template ordering.
[SVN r28228]
2005-04-13 22:56:43 +00:00
Daniel James
59efa07c7c
Borland workaround for hashing arrays.
...
[SVN r28226]
2005-04-13 20:24:50 +00:00
Daniel James
b1def5cf1d
Deal with NaN & infinity in the hash float function on Broland.
...
[SVN r28186]
2005-04-12 20:23:09 +00:00
Daniel James
952d73da6b
Setup hash float function config for Tru64 on alpha and add some comments on
...
the different libraries & compilers.
[SVN r28138]
2005-04-11 22:20:33 +00:00
Daniel James
a5012dfc7c
Better version of the built in array hash function.
...
[SVN r28089]
2005-04-10 20:07:50 +00:00
Daniel James
4727f1070a
Implement hash functions for built-in arrays. Uses partial specialization
...
instead of function overloading - which disobeys the specification of
the extension (hash_combine is defined in terms of hash_value, but hash_value
doesn't deal with every case now).
[SVN r28078]
2005-04-10 12:36:24 +00:00
Daniel James
640bdf7f9c
Use the named variants of the float functions for stlport on gcc-2.95.
...
[SVN r28067]
2005-04-09 09:27:20 +00:00
Daniel James
427b07ac6e
Remove the Boost.Range overloads of hash_range.
...
[SVN r28051]
2005-04-07 21:08:58 +00:00
Daniel James
72454e373e
Change the hash float config for Rogue Wave so that it only applies to Borland,
...
as it seems to be wrong on SunPro.
[SVN r28029]
2005-04-06 22:52:25 +00:00
Daniel James
2160ce6891
Include config files before any other header to prevent Visual C++ 6 warnings.
...
Remove Boost.Range support when there are no const volatile specializations, as it currently requires them to compile. Hopefully this will be changed back in the future.
[SVN r27914]
2005-04-01 22:38:39 +00:00