New libraries
Two libraries added: a high‑performance UML‑style state machine and an integral‑coordinate polygon toolkit.
Two libraries added: a high‑performance UML‑style state machine and an integral‑coordinate polygon toolkit.
Asio compile times, code size, and timer scalability were reduced; deadline_timer and asio::streambuf now run faster.
Added six new dependencies across six libraries and removed four across four libraries.
Numerous bug fixes enhance stability across many components, including BOOST_NO_COMPLETE_VALUE_INITIALIZATION and Filesystem symbol visibility.
Optional separate compilation via BOOST_ASIO_SEPARATE_COMPILATION and new macro BOOST_ASIO_DISABLE_FENCED_BLOCK simplify Asio usage.
| Platform | File | SHA256 Hash |
|---|---|---|
|
Unix
|
boost_1_44_0.tar.bz2 |
|
| boost_1_44_0.tar.gz |
|
|
|
Windows
|
boost_1_44_0.7z |
|
| boost_1_44_0.zip |
|
August 13th, 2010 17:00 GMT
#includes, e.g.
if the program uses boost::array
but does not explicitly include <boost/array.hpp>.)
deadline_timer
implementation to improve performance.
asio::streambuf
with async_read()
and async_read_until(). These read operations now use
the existing capacity of the streambuf
when reading, rather than limiting the read to 512 bytes.
#include <boost/asio/impl/src.cpp>
to one source file in a program, then build the program with BOOST_ASIO_SEPARATE_COMPILATION
defined in the project/compiler settings. Alternatively, BOOST_ASIO_DYN_LINK may be defined
to build a separately-compiled Asio as part of a shared library.
BOOST_ASIO_DISABLE_FENCED_BLOCK
to permit the disabling of memory fences around completion handlers,
even if thread support is enabled.
const
types.
null_buffers
variant of async_send_to
(#4170).
unsigned char
is used with isdigit
in getaddrinfo emulation
(#4201).
operator+ overload in buffers_iterator
(#4382).
null_buffers
operations on Windows.
fusion::reverse_fold, fusion::iter_fold
and fusion::reverse_iter_fold (#1623).
BOOST_HASH_NO_IMPLICIT_CASTS,
which can avoid some subtle problems. This might be activated by
default in a future version.
open
methods for file_descriptor,
file_descriptor_source
and file_descriptor_sink.
See the
documentation for details. The old methods are still available
if you define BOOST_IOSTREAMS_USE_DEPRECATED
(#3323,
#3517,
#4335).
mpl::string work with mpl::transform.
proto::and_ as a transform, apply all
transforms but only return the result of applying the last. See Proto's
Release
Notes for details.
proto::as_expr and proto::as_child
no longer run objects that are already proto expressions through
the expression domain's generator. See Proto's Release
Notes for details.
proto::basic_expr instead of proto::expr when possible for better compile
times. See Proto's Release
Notes for details.
as_expr
and as_child customization
points to allow for domain-specific customization of variable capture
behavior.
proto::_default transform is also a grammar
that matches the expressions the transform knows how to handle.
proto::_void, a no-op primitive transform
that does nothing and returns void.
proto::pass_through transform doesn't
strip expression wrappers, fixes #4175.
std::tr1::result_of always uses the TR1 ResultOf
protocol, even on compilers that support the C++0x decltype-based implementation.
boost::initialized<T>,
in order to fix #3472.
value_initialized<T> no longer calls memset when the compiler has implemented
value-initialization completely (#3869).
boost::tr1_result_of
that implements the TR1 ResultOf protocol even if boost::result_of
uses the C++0x decltype-based
implementation.
BOOST_UUID_NO_TYPE_TRAITS
to remove the dependency on Boost.TypeTraits.
operator<<
handles left, internal, and right manipulators.
to_string,
to_wstring to convert
a uuid to a string.
using
declarations with typedefs
in nested_results.
Boost's primary test compilers are:
Boost's additional test compilers include:
Beman Dawes, Eric Niebler, Rene Rivera, Daniel James and Vladimir Prus managed this release.
Thanks to Marshall Clow for organizing the bug sprint and to everyone who took part.
Boost is publicly released three times a year in April, August, and December. Each release has updates to existing libraries, and any new libraries that have passed the rigorous acceptance process.