Commit Graph

234 Commits

Author SHA1 Message Date
Daniel James
153971fcc3 Get <boost/functional/hash/extensions.hpp> to work.
[SVN r54142]
2009-06-21 09:42:05 +00:00
Daniel James
a4a6778f73 Revert [54025] "Try to avoid using special macro handling code."
[SVN r54141]
2009-06-21 09:41:46 +00:00
Daniel James
ebf01f20ca Move includes to the header which they're used in.
[SVN r54140]
2009-06-21 09:41:30 +00:00
Daniel James
ac31c7e33c A few more comments in boost::hash.
[SVN r54139]
2009-06-21 09:41:11 +00:00
Daniel James
cf5f69c216 Try to avoid using special macro handling code.
[SVN r54025]
2009-06-17 21:23:42 +00:00
Daniel James
69882c3b5b Put the minimum amount of implementation in the same namespace as the 'using namespace' directives in order to avoid Visual C++ 8 bug.
[SVN r54024]
2009-06-17 21:22:49 +00:00
Daniel James
d84c5c9364 Try to avoid float to int warning when a float function doesn't exist. Refs #3171.
[SVN r53828]
2009-06-12 18:24:47 +00:00
Daniel James
37b84f9cbb Remove misplaced visual C++ warning pragma.
[SVN r53506]
2009-05-31 15:53:09 +00:00
Daniel James
26cf795fe0 Fix a couple of clumsy errors in the last commit.
[SVN r53248]
2009-05-25 14:27:00 +00:00
Daniel James
e655314f73 Check for float functions with less templates.
The only template mechanism now used is full specialization, so this should
hopefully be more portable to compilers we don't test.

[SVN r53247]
2009-05-25 13:45:16 +00:00
Daniel James
1ccd4616fc Try to deal with macros for frexpl and ldexpl.
The error message for msvc-9.0~wm5~stlport5.2 suggests that frexpl and ldexpl
are macros.

[SVN r53205]
2009-05-23 15:21:38 +00:00
Jürgen Hunold
6de823b18b Fix gcc -pedantic error:extra extra ';'
[SVN r53203]
2009-05-23 13:03:25 +00:00
Daniel James
b610456580 Explicitly qualify 'none' to avoid confusion with boost::none.
[SVN r53185]
2009-05-22 19:00:35 +00:00
Daniel James
0c4c77ea34 Rename struct to avoid using 'type::'type' which confuses some
compilers.

[SVN r53175]
2009-05-22 13:35:56 +00:00
Daniel James
7d98446408 Some STLport fixes for hash.
[SVN r53169]
2009-05-22 06:01:35 +00:00
Daniel James
6b49fd3d49 Spell out exactly which functions can be used with which types.
I was hitting some ambiguity errors when the function was for the wrong type.

[SVN r53168]
2009-05-22 06:01:19 +00:00
Daniel James
e52c15df4e Fix a typo.
[SVN r53167]
2009-05-22 06:00:56 +00:00
Daniel James
e1a56446d8 Try to automatically detect which float functions are available.
[SVN r53161]
2009-05-21 21:22:04 +00:00
Daniel James
b0f91804a9 Move the two different hash float implementation into their own header.
[SVN r53160]
2009-05-21 21:21:44 +00:00
Daniel James
5806a8935d Move the hash limits workaround into its own file.
[SVN r53159]
2009-05-21 21:21:11 +00:00
Daniel James
f201c2dd17 Fix float support on vxWorks.
Thanks to Dustin Spicuzza. Refs #2957

[SVN r52481]
2009-04-19 09:17:18 +00:00
Daniel James
1c44695b87 Update copyright dates in hash and unordered.
[SVN r51667]
2009-03-09 20:56:23 +00:00
Daniel James
e27d60777b Remove deprecated headers.
Fixes #2412.

[SVN r51646]
2009-03-08 09:45:30 +00:00
Daniel James
ac3aa4971a Move hash_fwd into the hash subdirectory.
I should have done this in the last release. But now all of the hash
implementation is in the hash subdirectory.

[SVN r51645]
2009-03-08 09:45:11 +00:00
Tobias Schwinger
453a20706f adds missing template parameters for partial specialisations
[SVN r51392]
2009-02-22 16:27:22 +00:00
Tobias Schwinger
eac8fab2cd prevents vicious type deduction for array arguments
[SVN r51378]
2009-02-22 06:21:34 +00:00
Tobias Schwinger
23956c0360 straightens visibility issues
[SVN r51359]
2009-02-20 23:36:42 +00:00
Daniel James
d7fb437192 Rename parameter to avoid Visual C++ warning about clash with boost::array.
Fixes #2643

[SVN r50514]
2009-01-08 13:37:33 +00:00
Tobias Schwinger
a993802fcf introduces functional/ forward & factory
[SVN r49956]
2008-11-27 15:14:40 +00:00
Daniel James
f1735ef326 Add a forwarding header for container_fwd.hpp
[SVN r49662]
2008-11-09 12:11:50 +00:00
Daniel James
82ffa7ff03 Move hash detail headers out of boost/functional/detail.
[SVN r49661]
2008-11-09 12:03:45 +00:00
Daniel James
2a964ed2a6 Slightly more accurated comment - now that the headers cause errors, they've
moved past the deprecation stage (I think).


[SVN r49541]
2008-11-02 22:32:00 +00:00
Daniel James
9b40894b46 Changed the warnings in the deprecated headers from 1.34.0 to errors. These
will be removed in a future version of Boost (probably 1.39.0).



[SVN r49340]
2008-10-15 10:26:55 +00:00
Daniel James
1c66cdb55e Revert [49229], it fixes the same problem as [48674].
[SVN r49338]
2008-10-15 09:44:41 +00:00
John Maddock
d8d39c8f90 Change includes of <cmath> to <boost/config/no_tr1/config.hpp>.
Previously if Boost.TR1 was in the include path then including <cmath> pulls in all the new TR1 math functions, which in turn also requires linking to an external library.  With auto-linking support this requires that library to have been built and be present in the library search path, even if the actual library under use is header only.

Fixes #2392.


[SVN r49254]
2008-10-10 16:10:00 +00:00
Nicola Musatti
85813284d1 Small CodeGear specific patch
[SVN r49229]
2008-10-09 22:11:20 +00:00
Daniel James
4d35a175a4 Reinstate the old choice of float functions on Dinkumware for all compilers
other than Visual C++.

It turns out that Borland uses Dinkumware but doesn't have the C99 float
overloads, so it only seems realistic to assume their existence on Visual C++.
Refs #2264.


[SVN r48674]
2008-09-08 21:06:16 +00:00
Daniel James
a57907c38e Always use c99 float function overloads on Dinkumware, as it doesn't always have the C++ overloads. Refs #2264.
[SVN r48529]
2008-09-02 10:31:26 +00:00
Daniel James
509a1a8834 Merged revisions 43838-43894 via svnmerge from
https://svn.boost.org/svn/boost/branches/unordered/trunk

........
  r43840 | danieljames | 2008-03-24 17:25:07 +0000 (Mon, 24 Mar 2008) | 1 line
  
  Fix a g++ warning.
........
  r43844 | danieljames | 2008-03-24 17:56:28 +0000 (Mon, 24 Mar 2008) | 1 line
  
  It's a new-ish year.
........
  r43885 | danieljames | 2008-03-27 20:36:10 +0000 (Thu, 27 Mar 2008) | 1 line
  
  The release script doesn't need to copy images and css - because that's now done in the jamfiles. Also tweak the shell script a tad bit.
........
  r43890 | danieljames | 2008-03-27 23:01:40 +0000 (Thu, 27 Mar 2008) | 1 line
  
  Starting to add a docbook bibliography.
........
  r43894 | danieljames | 2008-03-27 23:24:18 +0000 (Thu, 27 Mar 2008) | 1 line
  
  Redeclare 'data' in iterator_base to help compilers which have trouble with accessing the nested typedef.
........


[SVN r43895]
2008-03-27 23:38:01 +00:00
Daniel James
1de2ad87bd Merge new changes to unordered & hash.
- Unordered tests can run lightweight test or Boost.Test (at least
   theoretically).
 - Workaround Open BSD's incorrect numeric_limits.
 - Move the hash extensions in their own file.
 - Various small improvements to the unordered docs.
 - Fix some unordered examples.

Merged revisions 43117-43837 via svnmerge from 
https://svn.boost.org/svn/boost/branches/unordered/trunk


[SVN r43838]
2008-03-24 17:03:15 +00:00
Daniel James
91145b5b0d Merged revisions 42882-42941 via svnmerge from
https://svn.boost.org/svn/boost/branches/unordered/trunk

................
  r42887 | danieljames | 2008-01-20 21:32:04 +0000 (Sun, 20 Jan 2008) | 10 lines
  
  Merged revisions 42590-42664,42667-42697,42699-42723,42725-42855,42857-42881 via svnmerge from 
  https://svn.boost.org/svn/boost/trunk
  
  ........
    r42881 | danieljames | 2008-01-20 17:37:21 +0000 (Sun, 20 Jan 2008) | 1 line
    
    Include <new> to get std::bad_alloc.
  ........
................
  r42892 | danieljames | 2008-01-21 13:03:16 +0000 (Mon, 21 Jan 2008) | 1 line
  
  On some compilers the Rogue Wave/Apache stdcxx library doesn't have the normal std::distance, but instead has a variant that takes the result as the third parameter so it doesn't have to work out the type from the iterator.
................
  r42893 | danieljames | 2008-01-21 13:07:58 +0000 (Mon, 21 Jan 2008) | 1 line
  
  Fix a typo in the last commit.
................
  r42895 | danieljames | 2008-01-21 13:33:29 +0000 (Mon, 21 Jan 2008) | 1 line
  
  Remove tabs from the last checkin.
................
  r42896 | danieljames | 2008-01-21 15:51:40 +0000 (Mon, 21 Jan 2008) | 1 line
  
  Use Boost config to tell when we have a std::distance function. Also, no need for a macro.
................
  r42908 | danieljames | 2008-01-21 21:37:04 +0000 (Mon, 21 Jan 2008) | 1 line
  
  Use boost::long_long_type and boost::ulong_long_type.
................
  r42921 | danieljames | 2008-01-23 11:43:35 +0000 (Wed, 23 Jan 2008) | 1 line
  
  Remove some tabs.
................
  r42922 | danieljames | 2008-01-23 11:46:28 +0000 (Wed, 23 Jan 2008) | 2 lines
  
  Add missing include. Refs #1596
................
  r42923 | danieljames | 2008-01-23 11:52:47 +0000 (Wed, 23 Jan 2008) | 2 lines
  
  Always use void const* for the second parameter of allocate. Refs #1596.
................
  r42936 | danieljames | 2008-01-23 22:22:16 +0000 (Wed, 23 Jan 2008) | 1 line
  
  Use Boost style library name in the documentation.
................
  r42937 | danieljames | 2008-01-23 22:22:32 +0000 (Wed, 23 Jan 2008) | 1 line
  
  More tabs.
................
  r42941 | danieljames | 2008-01-23 23:35:01 +0000 (Wed, 23 Jan 2008) | 1 line
  
  Fix all the allocators.
................


[SVN r42943]
2008-01-23 23:39:59 +00:00
Daniel James
c84ac7de10 Remove the _fpclass code from floating point hash.
[SVN r42416]
2008-01-02 18:08:43 +00:00
Daniel James
727cacbc17 Only suppress warning for Visual C++ 8 and later. Refs #1509
[SVN r41866]
2007-12-08 12:24:36 +00:00
Daniel James
4a21971b5d Try to suppress a Visual C++ warning. Refs #1509
[SVN r41864]
2007-12-08 11:04:40 +00:00
Daniel James
ba950b760e Don't use fpclass because it causes a warning for long doubles. I don't know if the warning is vaild here - but I don't want to disable it as it's useful for checking other function calls.
[SVN r41057]
2007-11-13 11:51:23 +00:00
Daniel James
f7877f6738 New algorithm for hash floating point numbers.
[SVN r40264]
2007-10-21 08:36:47 +00:00
Daniel James
0a74f461f0 Try to only issue deprecation warnings on compilers that support them.
[SVN r40206]
2007-10-20 10:31:58 +00:00
Daniel James
d0ad17a718 Fix the deprecated warnings on Borland, should also check before using #warning.
[SVN r40180]
2007-10-19 09:55:10 +00:00
Daniel James
f1dfae8703 Sun C++ didn't like the function call, so just try inlining the implementation for now.
[SVN r40036]
2007-10-14 21:52:12 +00:00
Daniel James
b869f1d775 Use a pragma for warnings in Visual C++.
[SVN r39991]
2007-10-13 21:50:05 +00:00
Daniel James
2de9bfe88c Add support for complex numbers to Boost.Hash
[SVN r39983]
2007-10-13 18:34:25 +00:00
Daniel James
d6a5c9c435 New attempt at fixing the function pointer hash on the Sun compilers.
I think I was barking up the wrong tree - it could be that when calling
hash_value with a function pointer the compiler was choosing the
hash_value(bool) overload over the hash_value(T*) overload, so instead I'm
trying to call the correct one by giving it a template parameter. Another
alternative would be to calculate the hash function inside boost::hash.

Unfortunately, if I'm right, this means that other calls to hash_value will go
wrong for function pointers.


[SVN r39972]
2007-10-13 16:34:09 +00:00
Daniel James
cd2d453735 Fix my botched attempt at supporting function pointers on Sun's compilers.
Also, now only applies the workaround to function pointers, non-function
pointers are treated as before. I might need to apply the special case to
member function pointers as well.


[SVN r39960]
2007-10-12 11:58:34 +00:00
Daniel James
4f3f3237db Try to fix function pointer hashing for the sun compiler. A bit of a stab in
the dark.


[SVN r39935]
2007-10-11 17:12:24 +00:00
Daniel James
af3b9c6b58 On Cygwin use a binary based hash function for floating point numbers, as
Cygwin doesn't have decent floating point functions for long doubles.


[SVN r39694]
2007-10-05 09:46:22 +00:00
Daniel James
fe5fa48972 Add proper support for long longs and unsigned long longs.
[SVN r39014]
2007-08-27 18:16:54 +00:00
Daniel James
993129e7e0 Change a comparison in the float hashing code, which can cause a warning on
gcc. Although the warning doesn't currently turn up in this branch, it could
be caused quite easily. Originally reported in:

http://lists.boost.org/Archives/boost/2007/08/126084.php


[SVN r38883]
2007-08-24 02:01:47 +00:00
Daniel James
93b80b365f Add extra overloads for hash_value to cover all the specializations of boost::hash. Fixes 1095
[SVN r38881]
2007-08-24 01:44:15 +00:00
Daniel James
afc3267102 Remove the errno check when hashing floating point numbers. It's not really
needed and was causing problems on the Microsoft Windows Smarthone Edition
platform. Fixes #1064.



[SVN r38877]
2007-08-24 01:11:33 +00:00
Daniel James
5f90cf05d3 Update the copyright in the hash library.
[SVN r38876]
2007-08-24 01:05:36 +00:00
Daniel James
ff43cf2784 Copy hash library from 1.34.1 over trunk.
For the first merge with the release branch, I only want to include some of the
changes I've been working on (fixes and some trivial changes), so I'm starting
again from 1.34.1.


[SVN r38873]
2007-08-24 00:42:19 +00:00
Daniel James
08d38c1e39 Avoid a comparison with zero warning on gcc when compiling with -Wextra.
[SVN r38679]
2007-08-15 14:35:39 +00:00
nobody
e5e8814e12 Add some missing 'inline's.
[SVN r38564]
2007-08-10 11:08:19 +00:00
nobody
6753d4b507 Add overloads of hash_value for more built in types. They're not strictly
needed and aren't in the original specifiction but they avoid a warning. See
ticket #1095 for details.


[SVN r38563]
2007-08-10 10:32:21 +00:00
Daniel James
26cfba5031 Put the borland workarounds back - it still seems to need them. Will probably
have to do something else on top of this for any problems this causes.


[SVN r37803]
2007-05-27 09:28:50 +00:00
Daniel James
0ecfe356ca Update copyright on hash headers.
[SVN r37801]
2007-05-27 09:07:09 +00:00
Daniel James
abc57e81c6 Remove deprecated hash header files.
[SVN r37800]
2007-05-27 09:04:59 +00:00
Daniel James
67efd5c627 Full namespace for std::size_t.
[SVN r37779]
2007-05-25 23:58:33 +00:00
Daniel James
2353e7abd8 Try turning off a borland workaround in the new version of borland, as it
seems to be causing problems in the tests.


[SVN r37426]
2007-04-12 20:33:48 +00:00
Andreas Huber
792ee1fee1 Fixed license & copyright issues.
From Mark Rodgers Fri Dec 1 12:59:14 2006
X-Apparently-To: ahd6974-boostorg -at- yahoo.com via 68.142.206.160; Fri, 01 Dec 2006 12:59:41 -0800
X-Originating-IP: [195.112.4.54]
Return-Path: <mark.rodgers -at- cadenza.co.nz>
Authentication-Results: mta550.mail.mud.yahoo.com from=cadenza.co.nz; domainkeys=neutral (no sig)
Received: from 195.112.4.54 (EHLO smtp.nildram.co.uk) (195.112.4.54) by mta550.mail.mud.yahoo.com with SMTP; Fri, 01 Dec 2006 12:59:40 -0800
Received: from snagglepuss.cadenza.co.nz (81-6-246-87.dyn.gotadsl.co.uk [81.6.246.87]) by smtp.nildram.co.uk (Postfix) with ESMTP id D32EA2B6D8C for <ahd6974-boostorg -at- yahoo.com>; Fri, 1 Dec 2006 20:59:35 +0000 (GMT)
Received: from penfold.cadenza.co.nz ([192.168.55.56]) by snagglepuss.cadenza.co.nz with esmtp (Exim 4.63) (envelope-from <mark.rodgers -at- cadenza.co.nz>) id J9M4Y9-0009TO-9K for ahd6974-boostorg -at- yahoo.com; Fri, 01 Dec 2006 20:58:57 +0000
Message-ID: <457097A2.1090305@cadenza.co.nz>
Date: Fri, 01 Dec 2006 20:59:14 +0000
From: "Mark Rodgers" <mark.rodgers -at- cadenza.co.nz>
User-Agent: Thunderbird 1.5.0.8 (Macintosh/20061025)
MIME-Version: 1.0
To: ahd6974-boostorg -at- yahoo.com [Edit - Delete]
Subject: Re: [boost] Reminder: Need your permission to correct license & copyright issues
References: <379990.36007.qm@web33507.mail.mud.yahoo.com>
In-Reply-To: <379990.36007.qm@web33507.mail.mud.yahoo.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 812
Gidday Andreas

Sure that's fine.  I'm happy for you to do 1, 2 and 3.

Regards
Mark

Andreas Huber wrote:
> Hello Mark
>
> Quite a while ago it was decided that every file that goes into the
> 1.34 release of the Boost distribution (www.boost.org) needs uniform
> license and copyright information. For more information please see:
>
> <http://www.boost.org/more/license_info.html>
>
> You are receiving this email because several files you contributed
> lack such information or have an old license:
>
> boost/functional/functional.hpp
> boost/libs/functional/binders.html
> boost/libs/functional/function_test.cpp
> boost/libs/functional/function_traits.html
> boost/libs/functional/index.html
> boost/libs/functional/mem_fun.html
> boost/libs/functional/negators.html
> boost/libs/functional/ptr_fun.html
> boost/people/mark_rodgers.htm
>
> I therefore kindly ask you to grant the permission to do the
> following:
>
> 1. For the files above that already have a license text (all except
> mark_rodgers.htm), replace the license text with:
>
> "Distributed under the Boost Software License, Version 1.0. (See
> accompanying file LICENSE_1_0.txt or copy at
> http://www.boost.org/LICENSE_1_0.txt)"
>
> 2. For the file that does not yet have a license and copyright
> (mark_rodgers.htm) add the same license text as under 1. and add the
> following copyright:
>
> "(c) Copyright Mark Rodgers 2000"
>
> 3. (Optional) I would also want to convert all HTML files to conform
> the HTML 4.01 Standard by running them through HTML Tidy, see
> <http://tidy.sf.net>
>
> It would be great if you could grant me permission to do 1 & 2 and
> optionally also 3.
>
> Thank you!
>
> Regards,
>
> Andreas Huber
>


[SVN r36245]
2006-12-02 13:57:33 +00:00
Daniel James
585813f9fe Rename hash_detail::float_limits => hash_detail::limits, since it's also used
for integers in the tests.


[SVN r35559]
2006-10-11 18:58:40 +00:00
Daniel James
40844fb29e Only use the float.h macros on OpenBSD, it seems that on FreeBSD numeric_limits is actually a better option.
[SVN r35501]
2006-10-05 21:22:56 +00:00
Daniel James
3732ea7566 Fix a typo.
[SVN r35500]
2006-10-05 21:21:43 +00:00
Daniel James
869a303733 Remove checks for float macros, I was being over-paranoid.
[SVN r35349]
2006-09-26 23:28:34 +00:00
Daniel James
26473491c4 Attempting to work round the dodgy std::numeric_limits<long double> on
some BSDs.


[SVN r35345]
2006-09-26 20:35:58 +00:00
Daniel James
eb5ef5e134 Move the hash extensions into their own header, which hopefully makes the
extension implementation a little clearer. It also fixes a problem where the
visual C++ include once pragma was preventing the extensions from being loaded
on the second include.


[SVN r35314]
2006-09-24 20:00:47 +00:00
Daniel James
39b4e38367 The Digital Mars workarounds aren't required for the latest version.
[SVN r34510]
2006-07-12 10:13:45 +00:00
Daniel James
8ff9a154ad Comment out an assert which is giving bogus failures. On platforms where it isn't possible to detect NaN or infinity the full hash computation is performed on them. For NaN the result doesn't matter (since NaN != NaN), for infinity it should always give the same result), so the calculation works but unfortuanately, I don't know how to correctly check that v is what I expect in the assertion.
I could use a different hash function when I don't have fpclassify/fpclass but that shouldn't be necessary.


[SVN r34490]
2006-07-09 22:50:43 +00:00
Daniel James
645cac6ae3 Update copyright details.
[SVN r34390]
2006-06-25 09:59:05 +00:00
Daniel James
1a219729ee Avoid a warning on Visual C++
[SVN r34329]
2006-06-17 21:22:51 +00:00
Daniel James
cae97c67d8 Tweak the float hashing algorithm to perform fewer calls to ldexp for some
types and possibly generate a better hash value.


[SVN r34273]
2006-06-11 15:29:09 +00:00
Daniel James
a4d9b52094 Improve support for floating point types with radix != 2.
[SVN r34272]
2006-06-11 14:52:55 +00:00
Daniel James
e42ae3e82e Oops again, I checked in the wrong version of hash.hpp, which had a broken
version of boost::hash_value<complex> in it. So fix that.


[SVN r34207]
2006-06-06 20:51:24 +00:00
Daniel James
e143c22dbd Add support for long long to Boost.Hash.
[SVN r34202]
2006-06-06 20:13:33 +00:00
Daniel James
7c9c2c3ff8 Workaround for Visual C++ 7.
[SVN r34191]
2006-06-06 08:14:23 +00:00
Daniel James
00975444e0 Hash workarounds for Digital Mars.
[SVN r33958]
2006-05-07 17:52:38 +00:00
Daniel James
4ebb14ea3b Don't use fpclassify for hashing on OS X.
[SVN r33875]
2006-04-30 19:16:08 +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
Daniel James
f97df4faab 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
Beman Dawes
240f068069 add or update See www.boost.org comments
[SVN r16708]
2002-12-27 16:51:53 +00:00
Mark Rodgers
0fad7f1538 Fix the non-standard behaviour when not1, etc called with a function that was identified by Jens Maurer using Comeau C++.
[SVN r8292]
2000-11-22 09:04:28 +00:00
Mark Rodgers
baa020be4a Workarounds for Metrowerks as suggested by Fabrice Truillot.
[SVN r7672]
2000-08-01 07:53:58 +00:00
Beman Dawes
c9fe13ddca This commit was generated by cvs2svn to compensate for changes in r4,
which included commits to RCS files with non-trunk default branches.


[SVN r7621]
2000-07-07 16:04:40 +00:00