Version 1.45.0
November 19th, 2010 16:00 GMT
Documentation
Updated Libraries
-
Asio:
-
Fixed a problem on kqueue-based platforms where a
deadline_timer
may never fire if the io_service
is running in a background thread (#4568).
-
Fixed a const-correctness issue that prevented valid uses of
has_service<>
from compiling (#4638).
-
Fixed MinGW cross-compilation (#4491).
-
Removed dependency on deprecated Boost.System functions (#4672).
-
Ensured
close()/closesocket()
failures are correctly propagated (#4573).
-
Added a check for errors returned by
InitializeCriticalSectionAndSpinCount
(#4574).
-
Added support for hardware flow control on QNX (#4625).
-
Always use
pselect() on HP-UX, if it is available (#4578).
-
Ensured handler arguments are passed as lvalues (#4744).
-
Fixed Windows build when thread support is disabled (#4680).
-
Fixed a Windows-specific problem where
deadline_timer
objects with expiry times set more than 5 minutes in the future may
never expire (#4745).
-
Fixed the
resolver
backend on BSD platforms so that an empty service name resolves to
port number 0, as per
the documentation (#4690).
-
Fixed read operations so that they do not accept buffer sequences
of type
const_buffers_1
(#4746).
-
Redefined
Protocol
and id to avoid clashing
with Objective-C++ keywords (#4191).
-
Fixed a
vector reallocation
performance issue that can occur when there are many active deadline_timer objects (#4780).
-
Fixed the kqueue backend so that it compiles on NetBSD (#4662).
-
Fixed the socket
io_control() implementation on 64-bit Mac OS
X and BSD platforms (#4782).
-
Fixed a Windows-specific problem where failures from
accept()
are incorrectly treated as successes (#4859).
-
Deprecated the separate compilation header
<boost/asio/impl/src.cpp>
in favour of <boost/asio/impl/src.hpp> (#4560).
-
Config:
-
Added new defect macros,
BOOST_NO_VARIADIC_MACROS
and BOOST_NO_NUMERIC_LIMITS_LOWEST.
-
Minor fixes (#4670,
#4563,
#4474,
#4508).
-
Flyweight:
-
Fixed a hanging problem with
intermodule_holder in Win32
platforms related to a Boost.Interprocess issue described at ticket
#4606.
-
Removed an internal assertion incompatible with program termination
via
std::exit.
-
Foreach:
-
Fix ambiguitiy by making
auto_any
constructor explicit.
-
Fusion:
-
Added
BOOST_FUSION_ADAPT_ADT,
BOOST_FUSION_ADAPT_TPL_ADT,
BOOST_FUSION_ADAPT_ASSOC_ADT
and BOOST_FUSION_ADAPT_ASSOC_TPL_ADT.
-
Graph:
-
Added Stoer-Wagner min-cut algorithm contributed by Daniel Trebbien.
-
Added implicit graph (implicit_graph) and A* (astar_maze) examples
contributed by W. P. McNeill.
-
Added bundled property support for graph properties.
-
Fixed bugs #4556,
#4622,
#4631,
#4715,
#4753,
#4758
and #4793
plus others not in Trac.
-
Fixed documentation bugs #4731
and #4737.
-
Interprocess:
-
Fixed bugs #1080,
#3284,
#3439,
#3448,
#3582,
#3682,
#3829,
#3846,
#3914,
#3947,
#3950,
#3951,
#3985,
#4010,
#4417,
#4019,
#4039,
#4218,
#4230,
#4250,
#4297,
#4350,
#4352,
#4426,
#4516,
#4524,
#4557,
#4606,
#4685,
#4694.
-
Added support for standard rvalue reference move semantics (tested
on GCC 4.5 and VC10).
-
Permissions can be detailed for interprocess named resources.
-
mapped_region::flush initiates disk flushing but
does not guarantee it's completed when returns, since it is not portable.
-
FreeBSD and MacOS now use posix semaphores to implement named semaphores
and mutex.
-
Math:
-
Added inverse gamma distribution and inverse chi_square and scaled
inverse chi_square.
-
Added warnings about potential ambiguity with std random library
in distribution and function names.
-
Editorial revision of documentation, and added FAQ.
-
Meta State Machine:
-
MultiArray:
-
Fixes for bugs #3581,
#3820,
#3989,
#4032,
plus other bugs not in Trac.
-
Added new examples and test cases.
-
Proto:
-
Knock down value of
proto::N,
fixes bug #4602,
-
Support non-rtti compilers
-
Fix bug with
proto::matches,
array types and the wildcard pattern.
-
Make Proto work on MSVC with the /clr option
-
Add const-qualified overloads of
proto::eval
-
Spirit:
Spirit V2.4.1,
see the 'What's
New' section for details.
-
TypeTraits:
-
Added new traits add_rvalue_reference, add_lvalue_reference and common_type.
-
Minor fixes to is_signed, is_unsigned and is_virtual_base_of.
-
uBLAS:
-
Tickets closed:
-
Mixed types operation are possible and new tests added (like matrix<complex>+matrix<double>),
-
New features:
-
a new size<> operator is available. For example size<1>(A+B)
give the number of rows of the sum of matrices A and B,
-
Unordered:
-
Fix inserting from iterators which return by copy from
operator*
in boost::unordered_map and boost::unordered_set.
-
Wave:
-
Xpressive:
-
xpressive::as handles wide-char sub_match objects, fixes bug #4496
Updated Tools
-
Boostbook:
-
Fix syntax highlighter for comments at the end of code blocks.
-
Quickbook:
-
Fix command line macros.
-
Nested code snippets.
-
Nested documentation info comments.
-
Revert xml escaping document info, it broke some documentation files
(will now be in 1.6).
-
Some other small tweaks. See the
change log for more info.
Compilers Tested
Boost's primary test compilers are:
-
Linux:
-
GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.1.
-
GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0.
-
Intel: 10.1, 11.0, 11.1
-
Pathscale: 3.2.
-
OS X:
-
GCC: 4.0.1, 4.2.1, 4.4
-
GCC, C++0x mode: 4.4.
-
Intel: 11.1
-
Windows:
-
Visual C++: 7.1, 8.0, 9.0 and 10.0.
-
GCC, mingw: 4.3.3.
-
FreeBSD:
-
GCC: 4.2.1, 32 bit.
-
GCC: 4.2.1, 64 bit.
Boost's additional test compilers include:
-
Linux:
-
GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.0, 4.6.0 (dev version).
-
GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0.
-
Intel: 10.1, 11.0, 11.1.
-
pgCC 10.1.
-
PathScale: 3.2.
-
Clang from subversion.
-
OS X:
-
Intel C++ Compiler: 10.1, 11.0, 11.1.
-
GCC: 4.0.1, 4.2.1, 4.4.4
-
GCC, C++0x mode: 4.4.4
-
Clang from subversion.
-
Windows:
-
Borland: 5.9.3, 6.1.3 (2009), 6.2.1 (2010), 6.3.0
-
GCC, mingw: 4.3.3, 4.4.5, 4.5.1
-
GCC, mingw, C++0x mode: 4.5.1
-
Visual C++: 7.1, 8.0, 9.0, 10.0
-
AIX:
-
IBM XL C/C++ Enterprise Edition, V11.1.0.0.
-
FreeBSD:
-
Solaris:
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James
and Vladimir Prus managed this release.