Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Change Log
PrevUpHomeNext

Boost 1.33.0

  • Initial Release

Boost 1.33.1

  • Fixed the points example, as pointed out by 沈慧峰.

Boost 1.34.0

  • Use declarations for standard classes, so that the library doesn't need to include all of their headers
  • Deprecated the <boost/functional/hash/*.hpp> headers. Now a single header, <boost/functional/hash.hpp> is used.
  • Add support for the BOOST_HASH_NO_EXTENSIONS macro, 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.

Boost 1.34.1

  • Ticket 952: Suppress incorrect 64-bit warning on Visual C++.

Boost 1.35.0

  • 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 fpclass which doesn't support long 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.

Boost 1.36.0

  • Stop using OpenBSD's dodgy std::numeric_limits.
  • Using the boost typedefs for long long and unsigned long long.
  • Move the extensions into their own header.

Boost 1.37.0

  • Ticket 2264: In Visual C++, always use C99 float functions for long double and float as the C++ overloads aren't always availables.

Boost 1.38.0

  • 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.hpp has been moved to boost/detail/container_fwd.hpp as it's used outside of this library, the others have been moved to boost/functional/hash/detail.

Boost 1.39.0

  • 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.

Boost 1.40.0

  • 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.

Boost 1.42.0

  • 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.

Boost 1.43.0

  • 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_FWD macro.
  • Ticket 4038: Avoid hashing 0.5 and 0 to the same number.
  • Stop using deprecated BOOST_HAS_* macros.

Boost 1.44.0

  • Add option to prevent implicit conversions when calling hash_value by defining BOOST_HASH_NO_IMPLICIT_CASTS. When using boost::hash for a type that does not have hash_value declared 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.

Boost 1.46.0

  • Avoid warning due with gcc's -Wconversion flag.

Boost 1.50.0

  • Ticket 6771: Avoid gcc's -Wfloat-equal warning.
  • Ticket 6806: Support std::array and std::tuple when available.
  • Add deprecation warning to the long deprecated boost/functional/detail/container_fwd.hpp.

Boost 1.51.0

  • Support the standard smart pointers.
  • hash_value now implemented using SFINAE to avoid implicit casts to built in types when calling it.
  • Updated to use the new config macros.

Boost 1.52.0

  • Restore enum support, which was accidentally removed in the last version.
  • New floating point hasher - will hash the binary representation on more platforms, which should be faster.

Boost 1.53.0

  • Add support for boost::int128_type and boost::uint128_type where available - currently only __int128 and unsigned __int128 on 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).

Boost 1.54.0

Boost 1.55.0

  • Simplify a SFINAE check so that it will hopefully work on Sun 5.9 (#8822).
  • Suppress Visual C++ infinite loop warning (#8568).

Boost 1.56.0

  • 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.

PrevUpHomeNext