Version 1.37.0
November 3rd, 2008 12:00 GMT
Documentation
New Libraries
- Proto:
-
Expression template library and compiler construction toolkit for
domain-specific embedded languages, from Eric Niebler.
Updated Libraries
-
Asio:
-
Enhanced CompletionCondition concept with the signature
size_t CompletionCondition(error_code
ec,
size_t total), where the return value indicates
the maximum number of bytes to be transferred on the next read or
write operation. (The old CompletionCondition signature is still
supported for backwards compatibility).
-
New windows::overlapped_ptr class to allow arbitrary overlapped I/O
functions (such as TransmitFile) to be used with Asio.
-
On recent versions of Linux, an eventfd descriptor is now used (rather
than a pipe) to interrupt a blocked select/epoll reactor.
-
Added const overloads of lowest_layer().
-
Synchronous read, write, accept and connect operations are now thread
safe (meaning that it is now permitted to perform concurrent synchronous
operations on an individual socket, if supported by the OS).
-
Reactor-based io_service implementations now use lazy initialisation
to reduce the memory usage of an io_service object used only as a
message queue.
-
Circular Buffer:
-
Added new methods
is_linearized() and rotate(const_iterator).
-
Minor bug fixes and documentation updates.
-
Dynamic Bitset:
-
Constructor "do the right thing" dispatch, a la standard
sequence containers (follows the proposed resolution of library
issue 438, currently in the C++0x working
paper).
-
Improvements to documentation, code examples and implementation.
-
Exception:
-
Support for non-RTTI builds.
-
Optimizations.
-
A new macro
BOOST_THROW_EXCEPTION
which can be used instead of boost::throw_exception
when throwing, to automatically record information about the location
of the throw in the exception object.
-
Hash:
-
Interprocess:
-
Added placement insertion (
emplace(), emplace_back()...) methods to containers.
-
Containers can be used now in recursive types.
-
Minor bug fixes.
-
Intrusive:
-
Intrusive now takes advantage of compilers with variadic templates.
-
clone_from functions
now copy predicates and hash functions of associative containers.
-
Added incremental hashing to unordered containers via
incremental<>
option.
-
Minor bug fixes.
-
Math.Special
Functions:
Improved accuracy and testing of the inverse hypergeometric
functions.
-
Type Traits:
Added
better support for the Codegear compiler.
-
Unordered:
-
Rename overload of
emplace
with hint, to emplace_hint
as specified in n2691.
-
Provide forwarding headers at
<boost/unordered/unordered_map_fwd.hpp>
and <boost/unordered/unordered_set_fwd.hpp>.
-
Move all of the implementation inside the
boost/unordered
directory.
Compilers Tested
Boost's primary test compilers are:
-
GCC 4.01 on Mac OS X 10.4.10 with both Intel and Power PC
-
GCC 4.2.4 on Ubuntu Linux 8.10
-
GCC 4.3.2 on Debian Sid
-
GCC 4.2.1 on HP-UX Integrity
-
HP C/aC++ B3910B A.06.17 on HP-UX 64-bit
-
Visual C++ 9.0 SP1, 8.0, and 7.1 SP1, all on Windows XP
Boost's additional test compilers include:
-
GCC 4.1.2 on NetBSD
-
HP aCC on OS: HP-UX B.11.31 U ia64 and HP-UX B.11.31 9000/800 RISC
-
IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40
-
Intel 9.1, 10.0, and 10.1, on Mac OS X 10.4.10
-
Compaq C++ V7.1-006 for Compaq Tru64 Unix on an OSF1 V5.1 platform.
-
Sun C++ 5.7, 5.8, 5.9 and GCC 3.4.6 on Sun Solaris 5.10.
-
On Linux:
-
GCC 3.4.3, 4.0.1, 4.2.1, 4.2.4, 4.3.2.
-
GCC 4.3.2 with C++0x extensions.
-
GCC 4.1.1, 4.2.1 on 64 bit linux.
-
Intel C++ 8.1, 9.0, 9.1 and 10.0
-
QLogic PathScale(TM) Compiler Suite: Version 3.1
-
Sun Compiler 5.9, 5.10 with stdcxx
-
On Windows:
-
Several testers using Visual C++ 7.1, 8.0, 9.0 and 10.0
-
Visual C++ 7.1 with Apache C++ Standard Library 4.2.x branch.
-
Visual C++ 8.0 with STLport 5.1
-
Visual C++ 8.0 with STLport 5.1 cross-compiling for Windows Mobile
5.0 Pocket PC SDK (ARMV4I).
-
Intel 10.1, with Visual C++ 9 backend.
-
Borland 5.9.3 and 6.10.0
-
64 bit Intel 10.1, with Visual C++ 9 backend.
-
64 bit Visual C++ 9.0.
-
64-bit Visual C++ 9.0 with Apache C++ Standard Library 4.2.x branch.
-
Comeau C++ 4.3.10.1 beta 2, with Visual C++ 9 backend.
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, and Daniel
James managed this release.