- 
          Fixed the points example, as pointed out by 沈慧峰.
        
- 
          Use declarations for standard classes, so that the library doesn't need
          to include all of their headers
        
- 
          Deprecated the <boost/functional/hashheaders. Now a single header,
          <boost/functional/hash.hpp>
          is used.
- 
          Add support for the BOOST_HASH_NO_EXTENSIONSmacro, which disables the extensions to TR1.
- 
          Minor improvements to the hash functions for floating point numbers.
        
- 
          Update the portable example to hopefully be more generally portable.
        
- 
          Ticket 952:
          Suppress incorrect 64-bit warning on Visual C++.
        
- 
          Support for long long,std::complex.
- 
          Improved algorithm for hashing floating point numbers:
          
- 
                Improved portablity, as described by Daniel Krügler in a
                post to the boost users list.
              
- 
                Fits more information into each combine loop, which can reduce the
                the number of times combine is called and hopefully give a better
                quality hash function.
              
- 
                Improved the algorithm for hashing floating point numbers.
              
- 
                On Cygwin use a binary hash function for floating point numbers,
                as Cygwin doesn't have decent floating point functions for long double.
- 
                Never uses fpclasswhich doesn't supportlong
                double.
- 
                Ticket 1064:
                Removed unnecessary use of errno.
 
- 
          Explicitly overload for more built in types.
        
- 
          Minor improvements to the documentation.
        
- 
          A few bug and warning fixes:
          
- 
                Ticket 1509:
                Suppress another Visual C++ warning.
              
- 
                Some workarounds for the Sun compilers.
              
 
- 
          Stop using OpenBSD's dodgy std::numeric_limits.
- 
          Using the boost typedefs for long
          longandunsigned
          long long.
- 
          Move the extensions into their own header.
        
- 
          Ticket 2264:
          In Visual C++, always use C99 float functions for long
          doubleandfloatas the C++ overloads aren't always availables.
- 
          Changed the warnings in the deprecated headers from 1.34.0 to errors. These
          will be removed in a future version of Boost.
        
- 
          Moved detail headers out of boost/functional/detail,
          since they are part of functional/hash, not functional.boost/functional/detail/container_fwd.hpphas been moved toboost/detail/container_fwd.hppas it's used outside of this library, the others have been moved toboost/functional/hash/detail.
- 
          Move the hash_fwd.hpp implementation into the hash subdirectory, leaving
          a forwarding header in the old location. You should still use the old location,
          the new location is mainly for implementation and possible modularization.
        
- 
          Ticket 2412:
          Removed deprecated headers.
        
- 
          Ticket 2957:
          Fix configuration for vxworks.
        
- 
          Automatically configure the float functions using template metaprogramming
          instead of trying to configure every possibility manually.
        
- 
          Workaround for when STLport doesn't support long double.
        
- 
          Reduce the number of warnings for Visual C++ warning level 4.
        
- 
          Some code formatting changes to fit lines into 80 characters.
        
- 
          Rename an internal namespace.
        
- 
          Ticket 3866:
          Don't foward declare containers when using gcc's parallel library, allow
          user to stop forward declaration by defining the BOOST_DETAIL_NO_CONTAINER_FWDmacro.
- 
          Ticket 4038:
          Avoid hashing 0.5 and 0 to the same number.
        
- 
          Stop using deprecated BOOST_HAS_*macros.
- 
          Add option to prevent implicit conversions when calling hash_valueby definingBOOST_HASH_NO_IMPLICIT_CASTS.
          When usingboost::hashfor a type that does not havehash_valuedeclared but does have an
          implicit conversion to a type that does, it would use that implicit conversion
          to hash it. Which can sometimes go very wrong, e.g. using a conversion
          to bool and only hashing to 2 possible values. Since fixing this is a breaking
          change and was only approached quite late in the release cycle with little
          discussion it's opt-in for now. This, or something like it, will become
          the default in a future version.
- 
          Avoid warning due with gcc's -Wconversionflag.
- 
          Ticket 6771:
          Avoid gcc's -Wfloat-equalwarning.
- 
          Ticket 6806:
          Support std::arrayandstd::tuplewhen available.
- 
          Add deprecation warning to the long deprecated boost/functional/detail/container_fwd.hpp.
- 
          Support the standard smart pointers.
        
- 
          hash_valuenow implemented
          using SFINAE to avoid implicit casts to built in types when calling it.
- 
          Updated to use the new config macros.
        
- 
          Restore enumsupport, which
          was accidentally removed in the last version.
- 
          New floating point hasher - will hash the binary representation on more
          platforms, which should be faster.
        
- 
          Add support for boost::int128_typeandboost::uint128_typewhere available - currently only__int128andunsigned __int128on some versions of gcc.
- 
          On platforms that are known to have the standard floating point functions,
          don't use automatic detection - which can break if there are ambiguous
          overloads.
        
- 
          Fix undefined behaviour when using the binary float hash (Thomas Heller).
        
- 
          Simplify a SFINAE check so that it will hopefully work on Sun 5.9 (#8822).
        
- 
          Suppress Visual C++ infinite loop warning (#8568).
        
- 
          Removed some Visual C++ 6 workarounds.
        
- 
          Ongoing work on improving hash_combine.
          This changes the combine function which was previously defined in the reference
          documentation.
- 
          Fixed some warnings.
        
- 
          Only define hash for std::wstringwhen we know we have awchar_t.
          Otherwise there's a compile error as there's no overload for hashing the
          characters in wide strings (#8552).
- 
          Fix for recent versions of Visual C++ which have removed std::unary_functionandstd::binary_function(#12353).
- 
          Support for char16_t,char32_t,u16string,u32string
- 
          Avoid float comparison warning when using Clang - this workaround was already
          in place for GCC, and was used when Clang pretends to be GCC, but the warning
          was appearing when running Clang in other contexts.