| Platform | File | SHA256 Hash | |
|---|---|---|---|
| Unix | boost_1_40_0.tar.bz2 | 36cf4a239b587067a4923fdf6e290525a14c3af29829524fa73f3dec6841530c 36cf4a239b....ec6841530c 36cf4....1530c | |
| boost_1_40_0.tar.gz | 10f1ae33c9c25105554653aa7e86052e7afc9fe797c3cf188a5c8951965ae0d7 10f1ae33c9....51965ae0d7 10f1a....ae0d7 | ||
| Windows | boost_1_40_0.7z | 760628e48e4a88cb2f08b2cd2ed19ad5ecfeeff1f81d08171a322ac487db24e0 760628e48e....c487db24e0 76062....b24e0 | |
| boost_1_40_0.zip | 9e1731ca6292450c59df7679034cfbbb6cc46288d0a7c01ee5f9226b4945bccf 9e1731ca62....6b4945bccf 9e173....5bccf | ||
This is an older version of Boost and was released in 2013. The current version is 1.89.0.
Version 1.40.0
August 27th, 2009 17:00 GMT
Update
Added missing notes for Graph and Property Map.
Boost.CMake
Boost.CMake is now distributed separately. The cmake build for boost is BROKEN in the tarballs above. See the Boost.CMake wiki page for pointers to working versions.
Updated Libraries
-
Accumulators:
- Works on GCC 4.4.
-
Asio:
- Added a new ping example to illustrate the use of ICMP sockets.
-
Changed the
buffered*_stream<>templates to treat 0-byte reads and writes as no-ops, to comply with the documented type requirements forSyncReadStream,AsyncReadStream,SyncWriteStreamandAsyncWriteStream. -
Changed some instances of the
throwkeyword toboost::throw_exception()to allow Asio to be used when exception support is disabled. Note that the SSL wrappers still require exception support (#2754). - Made Asio compatible with the OpenSSL 1.0 beta (#3256).
- Eliminated a redundant system call in the Solaris /dev/poll backend.
- Fixed a bug in resizing of the bucket array in the internal hash maps (#3095).
- Ensured correct propagation of the error code when a synchronous accept fails (#3216).
- Ensured correct propagation of the error code when a synchronous read or write on a Windows HANDLE fails.
-
Fixed failures reported when
_GLIBCXX_DEBUGis defined (#3098). - Fixed custom memory allocation support for timers (#3107).
- Tidied up various warnings reported by g++ (#1341, #2618).
- Various documentation improvements, including more obvious hyperlinks to function overloads, header file information, examples for the handler type requirements, and adding enum values to the index (#3157, #2620).
- Circular Buffer:
-
Foreach:
- Workaround for conflict with Python headers (#3000).
- Function:
-
Fusion:
-
Improved compile times for
fusion::vector.
-
Improved compile times for
-
Graph:
- Merged in the Parallel Boost Graph Library, giving a full suite of graph algorithms and data structures for distributed-memory computers (such as clusters).
- Updates to the interface of the compressed sparse row graph, including constructors from unsorted edge lists.
- An implicit grid graph, saving memory over using the former generator.
- New algorithms: Dijkstra's single-source shortest path algorithm without a separate color map and an algorithm to find maximal common subgraphs between two graphs.
- Assorted bug fixes.
-
Hash:
- Automatically configure the float functions using template metaprogramming instead of trying to configure every possibility manually.
- Interprocess:
-
Intrusive:
- Code cleanup in tree_algorithms.hpp and avl_tree_algorithms.hpp
- Fixed bug #3164.
-
MPL:
-
Added
mpl::char_andmpl::stringfor compile-time string manipulation, based on multichar literals (#2905). - Updated MPL Reference Manual.
- Bug fixes.
-
Added
- Program.Options:
-
Property Map:
-
Moved property map code into a separate directory,
boost/property_map/. The old files exist and forward to the new ones; the previous files directly inboost/will be removed in Boost 1.42.0. -
Moved distributed property maps to
boost::graph::parallelnamespace. -
Added a property map based on a
boost::shared_array, providing a simpler interface.
-
Moved property map code into a separate directory,
-
Proto:
- PrimitiveTransforms have stricter conformance to ResultOf protocol. (Warning: some invalid code may break.)
-
Add a sensible default for
proto::_default's template parameter. - Improved default evaluation strategy for pointers to members.
- GCC 3.4 portability fixes (#3021).
- Work around Visual C++'s non-std-compliant ciso646 macros.
-
Random:
- Made the constructors of all the generators call the copy constructor when passed a non-const reference.
- Changed seeding functions to accept any arithmetic type. As a side-effect, the exact signature of seed changed for some classes.
- Major bug fixes in uniform_int.
-
Serialization:
-
Removed deprecated headers:
boost/static_warning.hpp,boost/state_saver.hpp,boost/smart_cast.hpp,boost/pfto.hpp. Use the the equivalent headers in theboost/serialization/directory instead (#3062). -
detail::archive_serializer_mapshould now be used instead ofdetail::archive_pointer_iserializer. For more details see the library release notes.
-
Removed deprecated headers:
- Unordered:
-
Xpressive:
- Works on Visual C++ 10.0 (#3124).
Build System
The default naming of libraries in Unix-like environment now matches system conventions, and does not include various decorations. Naming of libraries on Cygwin was also fixed. Support for beta versions of Microsoft Visual Studio 10 was added. With gcc, 64-bit compilation no longer requires that target architecture be specified.
Updated Tools
-
Boostbook:
-
Hide
INTERNAL ONLYenums in doxygen documentation (#3242). - Tweaked appearance of member classes/structs/unions in a class synopsis.
-
Hide
- Quickbook:
Compilers Tested
Boost's primary test compilers are:
-
OS X:
- GCC 4.0.1 on Intel Tiger and Leopard
- GCC 4.0.1 on PowerPC Tiger
-
Linux:
- GCC 4.3.3 on Ubuntu Linux.
-
Windows:
- Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP.
Boost's additional test compilers include:
-
Linux:
- Intel 9.0 on Red Hat Enterprise Linux.
- Intel 10.0 on Red Hat Enterprise Linux.
- Intel 10.1 on 64-bit Linux Redhat 5.1 Server.
- Intel 10.1 on Suse Linux on 64 bit Itanium.
- Intel 11.0 on Red Hat Enterprise Linux.
- Intel 11.1 on Red Hat Enterprise Linux.
- GCC 3.4.3, GCC 4.0.1, GCC 4.2.4, GCC 4.3.3 and GCC 4.4.0 on Red Hat Enterprise Linux.
- GCC 4.3.3 and GCC 4.4.0 with C++0x extensions on Red Hat Enterprise Linux.
- GCC 4.1.1, 4.2.1 on 64-bit Red Hat Enterprise Linux.
- GCC 4.1.2 on Suse Linux on 64 bit Itanium.
- GCC 4.1.2 on 64-bit Redhat Server 5.1.
- GCC Open64 4.2.2 on Red Hat Enterprise Linux.
- GCC 4.3.4 on Debian unstable.
- QLogic PathScale(TM) Compiler Suite: Version 3.1 on Red Hat Enterprise Linux.
- GCC version 4.2.0 (PathScale 3.2 driver) on 64-bit Red Hat Enterprise Linux.
- Sun 5.9 on Red Hat Enterprise Linux.
-
OS X:
- Intel 10.1, 11.0 on Intel Leopard.
- Intel 10.1, 11.0 on Intel Tiger.
- GCC 4.0.1, 4.2.1 on Intel Leopard.
- GCC 4.0.1 on Intel Tiger.
- GCC 4.0.1 on PowerPC Tiger.
-
Windows:
- Visual C++ 7.1 on XP.
- Visual C++ 9.0 on XP.
- Visual C++ 9.0 on Vista.
- Visual C++ 9.0 on Vista 64-bit.
- Visual C++ 9.0, using STLport 5.2, on XP and Windows Mobile 5.0.
- Visual C++ 10.0 beta.
- Borland 5.9.3, 6.1.0, 6.1.3.
- Borland C++ Builder 2007 and 2009.
- Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
- Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 64-bit.
- GCC 4.3.3 and 4.4.0, on Mingw with C++0x features.
-
AIX:
- IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40.
-
Solaris:
- Sun C++ 5.7, 5.8, 5.9 on Solaris 5.10.
- GCC 3.4.6 on Solaris 5.10.
Acknowledgements
Beman Dawes, Eric Niebler, Rene Rivera, and Daniel James managed this release.