Version 1.40.0
Version 1.40.0
August 27th, 2009 17:00 GMT
Platform | File |
---|---|
unix | boost_1_40_0.tar.bz2 |
boost_1_40_0.tar.gz | |
windows | boost_1_40_0.7z |
boost_1_40_0.zip |
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
,SyncWriteStream
andAsyncWriteStream
. -
Changed some instances of the
throw
keyword 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_DEBUG
is defined (#3098). -
Fixed custom memory allocation support for timers (#3107).
-
-
Fusion:
-
Improved compile times for
fusion::vector
.
-
-
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.
-
-
MPL:
-
Added
mpl::char_
andmpl::string
for compile-time string manipulation, based on multichar literals (#2905). -
Updated MPL Reference Manual.
-
Bug fixes.
-
-
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::parallel
namespace. -
Added a property map based on a
boost::shared_array
, providing a simpler interface.
-
-
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_map
should now be used instead ofdetail::archive_pointer_iserializer
. For more details see the library release notes.
-
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
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.