Commit Graph

186 Commits

Author SHA1 Message Date
Daniel James b36cac82c3 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 0a1800f9f8 A couple of workarounds for Digital Mars.
[SVN r32786]
2006-02-09 19:22:54 +00:00
Daniel James 514757c312 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 1cf74208aa 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 1d5bfbcc9c 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 5a5bbbf403 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 19564252b4 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 b2be632311 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 d8328a403c Attempt to get container_fwd.hpp working on more compilers.
[SVN r32684]
2006-02-07 00:43:06 +00:00
Daniel James 81483cc533 Move the float hash function into its own header.
[SVN r32594]
2006-02-05 19:51:29 +00:00
Daniel James b922722090 Use BOOST_WORKAROUND in boost/functional/hash/hash.hpp
[SVN r32589]
2006-02-05 16:31:45 +00:00
Daniel James da55a4fcca Use hash_fwd.hpp in the main hash header.
[SVN r32588]
2006-02-05 16:27:19 +00:00
Daniel James 1f2c6bfaba Add a forward header for the hash functions.
[SVN r32586]
2006-02-05 16:03:43 +00:00
Daniel James ed548575d4 Use container_fwd.hpp for the hash functions.
[SVN r32583]
2006-02-05 14:44:24 +00:00
Daniel James 1ff1366c5e 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 332201e5c8 Change container_fwd.hpp to cooperate with gcc stdlib++'s debug mode.
[SVN r32081]
2005-12-16 19:14:16 +00:00
Daniel James 016766fdec Add char_traits support to the container_fwd header.
[SVN r31133]
2005-09-27 19:45:04 +00:00
Daniel James bb16ae385a 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 9158f88562 Large patch from Ulrich Eckhardt to fix support for EVC++ 4.
[SVN r30670]
2005-08-25 16:27:28 +00:00
Daniel James 74ec71fe8d 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 8090093f06 Initialise the exponent before calling frexp in the hash float function.
[SVN r29200]
2005-05-26 07:36:26 +00:00
Daniel James 7092068156 Another attempt at getting the hash array tests to pass on Borland.
[SVN r28390]
2005-04-21 22:20:43 +00:00
Daniel James f2afc2a08d 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 7223c8da60 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 72cd8cdaa1 Overload hash_value for non-constant arrays.
[SVN r28276]
2005-04-16 10:32:29 +00:00
Daniel James dbed5ebafa 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 976683836e Borland workaround for hashing arrays.
[SVN r28226]
2005-04-13 20:24:50 +00:00
Daniel James be1be0d1fe Deal with NaN & infinity in the hash float function on Broland.
[SVN r28186]
2005-04-12 20:23:09 +00:00
Daniel James 0a43718366 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 8b08528611 Better version of the built in array hash function.
[SVN r28089]
2005-04-10 20:07:50 +00:00
Daniel James 15d97d95e7 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 5e9f0e4c8e 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 50e6bad2fd Remove the Boost.Range overloads of hash_range.
[SVN r28051]
2005-04-07 21:08:58 +00:00
Daniel James a65dc47fcb 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 27d6247dac 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
Daniel James 2b375867f5 Initial import of hash function headers - so that they can be used by
Boost.MultiIndex.


[SVN r27819]
2005-03-27 22:58:52 +00:00