Commit Graph

234 Commits

Author SHA1 Message Date
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
Daniel James
3910f072cd Unordered/hash: Avoid a gcc warning. Refs #6771
[SVN r77832]
2012-04-08 15:29:15 +00:00
Lorenzo Caminiti
01aba11b87 Trying to fix a pp error on Sun... using a separate macro to force expansion but not sure if that was the issue.
[SVN r77823]
2012-04-07 19:43:03 +00:00
Lorenzo Caminiti
1326990a7e Registering all types so Boost.Functional/OverloadedFunction works in type-of emulation mode (and not just native).
[SVN r77709]
2012-04-02 01:08:20 +00:00
Lorenzo Caminiti
9b08b5632d Added a couple of code comments.
[SVN r77068]
2012-02-18 16:11:21 +00:00
Lorenzo Caminiti
c4824e0bd6 Remove a set of extra parenthesis in getting a member function pointer that were not needed and did not compile on clang.
[SVN r77065]
2012-02-18 15:20:39 +00:00
Lorenzo Caminiti
6cbe04b95b Added Functional/OverloadedFunction source files.
[SVN r77025]
2012-02-15 00:42:56 +00:00
Daniel James
048d92f36a Fix copy and paste typo. Refs #4756.
[SVN r68182]
2011-01-16 11:06:00 +00:00
Daniel James
d631763584 Oops, make new hash_value overload inline.
[SVN r68147]
2011-01-14 03:36:39 +00:00
Daniel James
30618f1dff Support typeindex in hash. Refs #4756.
[SVN r68145]
2011-01-14 03:13:39 +00:00
Daniel James
948aee8aab Fix tabs and files without copyright.
[SVN r67612]
2011-01-03 12:43:34 +00:00
Daniel James
e2d25b5c00 Avoid -Wconversion warnings in unordered & hash.
[SVN r67170]
2010-12-11 14:43:00 +00:00
Daniel James
0ae94ec276 Fix hashing pointers on 64-bit OpenVMS.
Patch by Artyom. Refs #4477

[SVN r64397]
2010-07-27 19:18:53 +00:00
Daniel James
ef1bfd0174 Only include static_assert when necessary.
[SVN r64009]
2010-07-14 08:28:04 +00:00
Daniel James
3bb0cd29e4 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
892623b401 Release notes for hash.
[SVN r63810]
2010-07-10 13:47:47 +00:00
Daniel James
67c3951e3f Try preventing static casts when calling hash_value.
[SVN r63716]
2010-07-06 23:32:37 +00:00
Tobias Schwinger
67cadfe2b3 applies BOOST_DEDUCED_TYPENAME to hopefully please VACPP
[SVN r61634]
2010-04-27 23:14:23 +00:00
Daniel James
a7d58c92b3 Remove optimization which causes 0.5 to hash to 0. Refs #4038.
I have an internal requirement the 0 hashes to 0, a better solution
might be to remove that, put the optimization back and hash 0 to another
value. Or alternatively, use the main combine function instead.

[SVN r60805]
2010-03-24 08:49:00 +00:00
Daniel James
09dee31f61 Stop using the deprecated BOOST_HAS_ macros in unordered and hash.
[SVN r59697]
2010-02-15 23:01:06 +00:00
Tobias Schwinger
cfc0494e33 checks for write permission on working copy :-)
[SVN r59524]
2010-02-06 14:20:05 +00:00
Daniel James
a3cabbe601 Formatting changes, mostly to fit within 80 characters.
Also, some C casts converted to static_cast.

[SVN r58692]
2010-01-04 22:49:39 +00:00
Daniel James
6fe052f27e Rename namespace BOOST_HASH_DETECT_FLOAT_FUNCTIONS to lower case for consistency.
[SVN r58632]
2010-01-02 11:12:23 +00:00
Daniel James
ec3632c322 Try to suppress some more Visual C++ warnings.
[SVN r57976]
2009-11-27 19:43:26 +00:00
Daniel James
ed8c404ca6 Stricter warnings for unordered and hash.
There are still warnings in hash_complex_test.

[SVN r57537]
2009-11-10 08:15:55 +00:00
Daniel James
4936095357 Add am implementation note about the Visual C++ problems.
[SVN r54399]
2009-06-27 07:39:12 +00:00
Jürgen Hunold
f2dd570ee9 Fix gcc -pedantic warning: remove extra ";".
[SVN r54146]
2009-06-21 14:38:19 +00:00
Daniel James
e661dbe988 Move the support for hashing containers into the extension header, and improve the standard tests.
[SVN r54144]
2009-06-21 09:42:40 +00:00
Daniel James
0d9f68d607 Move BOOST_HASH_CHAR_TRAITS from container_fwd into the hash headers, and undefine it.
[SVN r54143]
2009-06-21 09:42:20 +00:00
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