Posted
over 14 years
ago
Updated Libraries
Asio:
Fixed a problem on kqueue-based platforms where a deadline_timer
may never fire if the io_service
... [More]
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:
Support
for serialization.
Possibility
to use normal functors (from functor front-end) in eUML.
New
constructors where substates / submachines can be taken as arguments.
This allows passing arguments to the constructor of a submachine.
Bugfixes (anonymous transitions)
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:
#4410,
#3397,
#795,
#3514,
Mixed types operation are possible and new tests added (like matrix+matrix),
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:
See the Changelog for details.
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:
GCC 4.2.1, 64 bit.
Solaris:
Sun C++: 5.10.
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James
and Vladimir Prus managed this release.
[Less]
|
Posted
about 15 years
ago
New Libraries
Meta State Machine:
High-performance
expressive UML2 finite state machines, from Christophe Henry
Polygon:
Booleans/clipping,
... [More]
resizing/offsetting and more for planar polygons with integral coordinates,
from Lucanus Simonson.
Updated Libraries
Accumulators:
Correct miscellaneous documentation inaccuracies
Asio:
Reduced compile times. (Note that some programs may need to add additional
#includes, e.g.
if the program uses boost::array
but does not explicitly include <boost/array.hpp>.)
Reduced the size of generated code.
Refactored deadline_timer
implementation to improve performance.
Improved multiprocessor scalability on Windows by using a dedicated
hidden thread to wait for timers.
Improved performance of 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.
Added optional separate compilation. To enable, add #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.
Added new macro BOOST_ASIO_DISABLE_FENCED_BLOCK
to permit the disabling of memory fences around completion handlers,
even if thread support is enabled.
Reworked timeout examples to better illustrate typical use cases.
Ensured that handler arguments are passed as const
types.
Fixed incorrect parameter order in null_buffers
variant of async_send_to
(#4170).
Ensured unsigned char
is used with isdigit
in getaddrinfo emulation
(#4201).
Fixed handling of very small but non-zero timeouts (#4205).
Fixed crash that occurred when an empty buffer sequence was passed
to a composed read or write operation.
Added missing operator+ overload in buffers_iterator
(#4382).
Implemented cancellation of null_buffers
operations on Windows.
Config:
Added new defect macro, BOOST_NO_COMPLETE_VALUE_INITIALIZATION.
Added new defect macro BOOST_NO_0X_HDR_TYPEINDEX,
fixes issue #4274.
Added support for code visibility in GCC.
Fixed issues #4385,
#4324,
#4221,
#4182,
#4178,
#4152,
#4115.
#4112,
#4059,
#4041,
#4012.
Filesystem:
This release contains both version 2 and version 3 of the library.
Version 3 is a major upgrade that will break some existing user code,
so version 2 is the default. Users are encouraged to migrate to version
3. See 'Version 2'
and 'Version 3'
for more information.
Fix problems with symbol visibility for shared libraries.
Fix various minor problems.
Fixed issues: #3863,
#4248.
Foreach:
Add boost/foreach_fwd.hpp for forward declarations of
foreach's customization points, fixes #3998.
Remove out-of-date work-arounds for sun compilers, fixes #4306.
Fusion:
Added fusion::reverse_fold, fusion::iter_fold
and fusion::reverse_iter_fold (#1623).
Hash:
Option to prevent implicit casts when calling the hash function by
defining the macro BOOST_HASH_NO_IMPLICIT_CASTS,
which can avoid some subtle problems. This might be activated by
default in a future version.
Iostreams:
Several fixes for file descriptors class, including a breaking change
to the constructors and 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).
Fix several issues with compression and decompression (#2318,
#4091,
#3348,
#2783,
#1579,
#3853).
And a load more miscellaneous fixes (#3851,
#3279,
#3689,
#2356,
#2996,
#4102,
#2998,
#1612,
#2325).
Thanks to Steven Watanabe for almost all these fixes. For more detail
see the release
notes.
Math:
Fixed incorrect range and support for Rayleigh distribution.
MPL:
Make mpl::string work with mpl::transform.
Multi-index Containers:
Fixed a bug preventing the use of modify_key
with rollback in ordered
and hashed
indices when Modifier
and Rollback are
different types (ticket #4130).
Proto:
Minor change in behavior: when using
proto::and_ as a transform, apply all
transforms but only return the result of applying the last. See Proto's
Release
Notes for details.
Minor change in behavior: 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.
Minor change in behavior: Proto
uses proto::basic_expr instead of proto::expr when possible for better compile
times. See Proto's Release
Notes for details.
Add support for sub-domains.
Introduce per-domain as_expr
and as_child customization
points to allow for domain-specific customization of variable capture
behavior.
The proto::_default transform is also a grammar
that matches the expressions the transform knows how to handle.
Add proto::_void, a no-op primitive transform
that does nothing and returns void.
The proto::pass_through transform doesn't
strip expression wrappers, fixes #4175.
Const-correctness fixes when invoking proto domains.
Regex:
Fixed issues: #4309,
#4215,
#4212,
#4191,
#4132,
#4123,
#4114,
#4036,
#4020,
#3941,
#3902,
#3890.
Spirit:
Spirit V2.4,
see the 'What's
New' section for details.
System:
Change system_category and generic_category to functions, to conform
to the C++0x FCD. This change may cause compile errors some user
code; the fix is add "()" to references to system_category
and generic_category, so that they become function calls.
Fix problems with symbol visibility for shared libraries.
Fixed issues: #4254,
#3994,
#3474.
Thread:
Fixes for miscellaneous trac issues (#2501,
#4341,
#4363,
#3760,
#3761,
#3611,
#2955,
#4071,
#3195,
#3097,
#2874,
#4316,
#4317,
#4322,
#3244,
#2747,
#4305,
#3195,
#2704,
#2293,
#868,
#2918,
#4238,
#3269,
#3178,
#3195).
Fixes for other miscellaneous issues (remove warnings, support newer
compilers, etc.)
TR1:
Fixed VC10 support.
std::tr1::result_of always uses the TR1 ResultOf
protocol, even on compilers that support the C++0x decltype-based implementation.
Type Traits:
Added support for rvalue references throughout the library, plus
two new traits classes is_rvalue_reference and is_lvalue_reference.
Fixes #4407
and #3804.
Fixed ticket #3621.
uBLAS:
New assignment operators to feed in vectors and matrices in many
nice ways (#4034).
Thank you Nasos
New doxygen-based documentation
Enable arithmetic operators (+,-,*,/) to work between ublas containers
of std::complex and integral types (#3649).
Thank you Neal
Removed unused variables in functional.hpp (#4377).
Thank you Marco
New matrix_indirect and vector_indirect views to access elements
with a matrix or vector of indices
Utility:
Added a new template class, boost::initialized<T>,
in order to fix #3472.
New version of value_initialized<T> no longer calls memset when the compiler has implemented
value-initialization completely (#3869).
New template boost::tr1_result_of
that implements the TR1 ResultOf protocol even if boost::result_of
uses the C++0x decltype-based
implementation.
Uuid:
Define BOOST_UUID_NO_TYPE_TRAITS
to remove the dependency on Boost.TypeTraits.
Stream operator<<
handles left, internal, and right manipulators.
Added to_string,
to_wstring to convert
a uuid to a string.
Fixed minor bugs in documentation.
Wave:
See the Changelog
for details.
Xpressive:
Replace non-portable using
declarations with typedefs
in nested_results.
Support user-defined assertions with placeholders for non-local variables.
Updated tools
Boostbook:
Significantly faster.
Improved syntax highlighter.
Quickbook:
Use the cygwin 1.7 API for better path handling.
Improved boostbook generation.
Tweak the grammar to clean up some edge cases.
For more detail see the change
log.
Compilers Tested
Boost's primary test compilers are:
OS X:
GCC 4.0.1 on Intel Leopard.
Linux:
GCC 4.4 on 64-bit Suse.
Windows:
Visual C++ 7.1 SP1, 8.0 SP1, 9.0 SP1 and 10.0.
GCC 4.3.3, using Mingw.
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
Linux:
Intel 10.1 on 32 bit Red Hat Enterprise Linux.
Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux.
GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise Linux.
GCC, with C++0x extensions, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise
Linux.
GCC 4.4 on 64 bit Suse.
QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise
Linux.
Clang from subversion (will be released with LLVM 2.8).
OS X:
Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
GCC 4.0.1, 4.2.1 (Apple build).
GCC 4.4
GCC, with C++0x extensions, 4.4
Clang from subversion (will be released with LLVM 2.8).
Windows:
Visual C++ 7.1 SP, 8.0, 9.0 on 32-bit XP.
Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
Visual C++ 10.0 on XP.
Visual C++ 10.0 on 64-bit Windows 7.
Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
GCC 4.3.3, 4.5 on Mingw.
GCC, with C++0x extensions, 4.5 on Mingw.
AIX:
IBM XL C/C++ Enterprise Edition, V11.1.0.0, on AIX Version 5.3.0.40.
FreeBSD:
GCC 4.2.1 on FreeBSD 7.2, 64 bit.
GCC 4.2.1 on FreeBSD 8.0, 32 bit.
Solaris:
Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
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.
[Less]
|
Posted
about 15 years
ago
New Libraries
Meta State Machine:
High-performance
expressive UML2 finite state machines, from Christophe Henry
Polygon:
Booleans/clipping,
... [More]
resizing/offsetting and more for planar polygons with integral coordinates,
from Lucanus Simonson.
Updated Libraries
Accumulators:
Correct miscellaneous documentation inaccuracies
Asio:
Reduced compile times. (Note that some programs may need to add additional
#includes, e.g.
if the program uses boost::array
but does not explicitly include <boost/array.hpp>.)
Reduced the size of generated code.
Refactored deadline_timer
implementation to improve performance.
Improved multiprocessor scalability on Windows by using a dedicated
hidden thread to wait for timers.
Improved performance of 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.
Added optional separate compilation. To enable, add #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.
Added new macro BOOST_ASIO_DISABLE_FENCED_BLOCK
to permit the disabling of memory fences around completion handlers,
even if thread support is enabled.
Reworked timeout examples to better illustrate typical use cases.
Ensured that handler arguments are passed as const
types.
Fixed incorrect parameter order in null_buffers
variant of async_send_to
(#4170).
Ensured unsigned char
is used with isdigit
in getaddrinfo emulation
(#4201).
Fixed handling of very small but non-zero timeouts (#4205).
Fixed crash that occurred when an empty buffer sequence was passed
to a composed read or write operation.
Added missing operator+ overload in buffers_iterator
(#4382).
Implemented cancellation of null_buffers
operations on Windows.
Config:
Added new defect macro, BOOST_NO_COMPLETE_VALUE_INITIALIZATION.
Added new defect macro BOOST_NO_0X_HDR_TYPEINDEX,
fixes issue #4274.
Added support for code visibility in GCC.
Fixed issues #4385,
#4324,
#4221,
#4182,
#4178,
#4152,
#4115.
#4112,
#4059,
#4041,
#4012.
Filesystem:
This release contains both version 2 and version 3 of the library.
Version 3 is a major upgrade that will break some existing user code,
so version 2 is the default. Users are encouraged to migrate to version
3. See 'Version 2'
and 'Version 3'
for more information.
Fix problems with symbol visibility for shared libraries.
Fix various minor problems.
Fixed issues: #3863,
#4248.
Foreach:
Add boost/foreach_fwd.hpp for forward declarations of
foreach's customization points, fixes #3998.
Remove out-of-date work-arounds for sun compilers, fixes #4306.
Fusion:
Added fusion::reverse_fold, fusion::iter_fold
and fusion::reverse_iter_fold (#1623).
Hash:
Option to prevent implicit casts when calling the hash function by
defining the macro BOOST_HASH_NO_IMPLICIT_CASTS,
which can avoid some subtle problems. This might be activated by
default in a future version.
Iostreams:
Several fixes for file descriptors class, including a breaking change
to the constructors and 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).
Fix several issues with compression and decompression (#2318,
#4091,
#3348,
#2783,
#1579,
#3853).
And a load more miscellaneous fixes (#3851,
#3279,
#3689,
#2356,
#2996,
#4102,
#2998,
#1612,
#2325).
Thanks to Steven Watanabe for almost all these fixes. For more detail
see the release
notes.
Math:
Fixed incorrect range and support for Rayleigh distribution.
MPL:
Make mpl::string work with mpl::transform.
Multi-index Containers:
Fixed a bug preventing the use of modify_key
with rollback in ordered
and hashed
indices when Modifier
and Rollback are
different types (ticket #4130).
Proto:
Minor change in behavior: when using
proto::and_ as a transform, apply all
transforms but only return the result of applying the last. See Proto's
Release
Notes for details.
Minor change in behavior: 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.
Minor change in behavior: Proto
uses proto::basic_expr instead of proto::expr when possible for better compile
times. See Proto's Release
Notes for details.
Add support for sub-domains.
Introduce per-domain as_expr
and as_child customization
points to allow for domain-specific customization of variable capture
behavior.
The proto::_default transform is also a grammar
that matches the expressions the transform knows how to handle.
Add proto::_void, a no-op primitive transform
that does nothing and returns void.
The proto::pass_through transform doesn't
strip expression wrappers, fixes #4175.
Const-correctness fixes when invoking proto domains.
Regex:
Fixed issues: #4309,
#4215,
#4212,
#4191,
#4132,
#4123,
#4114,
#4036,
#4020,
#3941,
#3902,
#3890.
Spirit:
Spirit V2.4,
see the 'What's
New' section for details.
System:
Change system_category and generic_category to functions, to conform
to the C++0x FCD. This change may cause compile errors some user
code; the fix is add "()" to references to system_category
and generic_category, so that they become function calls.
Fix problems with symbol visibility for shared libraries.
Fixed issues: #4254,
#3994,
#3474.
Thread:
Fixes for miscellaneous trac issues (#2501,
#4341,
#4363,
#3760,
#3761,
#3611,
#2955,
#4071,
#3195,
#3097,
#2874,
#4316,
#4317,
#4322,
#3244,
#2747,
#4305,
#3195,
#2704,
#2293,
#868,
#2918,
#4238,
#3269,
#3178,
#3195).
Fixes for other miscellaneous issues (remove warnings, support newer
compilers, etc.)
TR1:
Fixed VC10 support.
std::tr1::result_of always uses the TR1 ResultOf
protocol, even on compilers that support the C++0x decltype-based implementation.
Type Traits:
Added support for rvalue references throughout the library, plus
two new traits classes is_rvalue_reference and is_lvalue_reference.
Fixes #4407
and #3804.
Fixed ticket #3621.
uBLAS:
New assignment operators to feed in vectors and matrices in many
nice ways (#4034).
Thank you Nasos
New doxygen-based documentation
Enable arithmetic operators (+,-,*,/) to work between ublas containers
of std::complex and integral types (#3649).
Thank you Neal
Removed unused variables in functional.hpp (#4377).
Thank you Marco
New matrix_indirect and vector_indirect views to access elements
with a matrix or vector of indices
Utility:
Added a new template class, boost::initialized<T>,
in order to fix #3472.
New version of value_initialized<T> no longer calls memset when the compiler has implemented
value-initialization completely (#3869).
New template boost::tr1_result_of
that implements the TR1 ResultOf protocol even if boost::result_of
uses the C++0x decltype-based
implementation.
Uuid:
Define BOOST_UUID_NO_TYPE_TRAITS
to remove the dependency on Boost.TypeTraits.
Stream operator<<
handles left, internal, and right manipulators.
Added to_string,
to_wstring to convert
a uuid to a string.
Fixed minor bugs in documentation.
Wave:
See the Changelog
for details.
Xpressive:
Replace non-portable using
declarations with typedefs
in nested_results.
Support user-defined assertions with placeholders for non-local variables.
Updated tools
Boostbook:
Significantly faster.
Improved syntax highlighter.
Quickbook:
Use the cygwin 1.7 API for better path handling.
Improved boostbook generation.
Tweak the grammar to clean up some edge cases.
For more detail see the change
log.
Compilers Tested
Boost's primary test compilers are:
OS X:
GCC 4.0.1 on Intel Leopard.
Linux:
GCC 4.4 on 64-bit Suse.
Windows:
Visual C++ 7.1 SP1, 8.0 SP1, 9.0 SP1 and 10.0.
GCC 4.3.3, using Mingw.
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
Linux:
Intel 10.1 on 32 bit Red Hat Enterprise Linux.
Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux.
GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise Linux.
GCC, with C++0x extensions, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise
Linux.
GCC 4.4 on 64 bit Suse.
QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise
Linux.
Clang from subversion (will be released with LLVM 2.8).
OS X:
Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
GCC 4.0.1, 4.2.1 (Apple build).
GCC 4.4
GCC, with C++0x extensions, 4.4
Clang from subversion (will be released with LLVM 2.8).
Windows:
Visual C++ 7.1 SP, 8.0, 9.0 on 32-bit XP.
Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
Visual C++ 10.0 on XP.
Visual C++ 10.0 on 64-bit Windows 7.
Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
GCC 4.3.3, 4.5 on Mingw.
GCC, with C++0x extensions, 4.5 on Mingw.
AIX:
IBM XL C/C++ Enterprise Edition, V11.1.0.0, on AIX Version 5.3.0.40.
FreeBSD:
GCC 4.2.1 on FreeBSD 7.2, 64 bit.
GCC 4.2.1 on FreeBSD 8.0, 32 bit.
Solaris:
Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
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.
[Less]
|
Posted
about 15 years
ago
New Libraries
Meta State Machine:
High-performance
expressive UML2 finite state machines, from Christophe Henry
Polygon:
Booleans/clipping,
... [More]
resizing/offsetting and more for planar polygons with integral coordinates,
from Lucanus Simonson.
Updated Libraries
Accumulators:
Correct miscellaneous documentation inaccuracies
Asio:
Reduced compile times. (Note that some programs may need to add additional
#includes, e.g.
if the program uses boost::array
but does not explicitly include <boost/array.hpp>.)
Reduced the size of generated code.
Refactored deadline_timer
implementation to improve performance.
Improved multiprocessor scalability on Windows by using a dedicated
hidden thread to wait for timers.
Improved performance of 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.
Added optional separate compilation. To enable, add #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.
Added new macro BOOST_ASIO_DISABLE_FENCED_BLOCK
to permit the disabling of memory fences around completion handlers,
even if thread support is enabled.
Reworked timeout examples to better illustrate typical use cases.
Ensured that handler arguments are passed as const
types.
Fixed incorrect parameter order in null_buffers
variant of async_send_to
(#4170).
Ensured unsigned char
is used with isdigit
in getaddrinfo emulation
(#4201).
Fixed handling of very small but non-zero timeouts (#4205).
Fixed crash that occurred when an empty buffer sequence was passed
to a composed read or write operation.
Added missing operator+ overload in buffers_iterator
(#4382).
Implemented cancellation of null_buffers
operations on Windows.
Config:
Added new defect macro, BOOST_NO_COMPLETE_VALUE_INITIALIZATION.
Added new defect macro BOOST_NO_0X_HDR_TYPEINDEX,
fixes issue #4274.
Added support for code visibility in GCC.
Fixed issues #4385,
#4324,
#4221,
#4182,
#4178,
#4152,
#4115.
#4112,
#4059,
#4041,
#4012.
Filesystem:
This release contains both version 2 and version 3 of the library.
Version 3 is a major upgrade that will break some existing user code,
so version 2 is the default. Users are encouraged to migrate to version
3. See 'Version 2'
and 'Version 3'
for more information.
Fix problems with symbol visibility for shared libraries.
Fix various minor problems.
Fixed issues: #3863,
#4248.
Foreach:
Add boost/foreach_fwd.hpp for forward declarations of
foreach's customization points, fixes #3998.
Remove out-of-date work-arounds for sun compilers, fixes #4306.
Fusion:
Added fusion::reverse_fold, fusion::iter_fold
and fusion::reverse_iter_fold (#1623).
Hash:
Option to prevent implicit casts when calling the hash function by
defining the macro BOOST_HASH_NO_IMPLICIT_CASTS,
which can avoid some subtle problems. This might be activated by
default in a future version.
Iostreams:
Several fixes for file descriptors class, including a breaking change
to the constructors and 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).
Fix several issues with compression and decompression (#2318,
#4091,
#3348,
#2783,
#1579,
#3853).
And a load more miscellaneous fixes (#3851,
#3279,
#3689,
#2356,
#2996,
#4102,
#2998,
#1612,
#2325).
Thanks to Steven Watanabe for almost all these fixes. For more detail
see the release
notes.
Math:
Fixed incorrect range and support for Rayleigh distribution.
MPL:
Make mpl::string work with mpl::transform.
Multi-index Containers:
Fixed a bug preventing the use of modify_key
with rollback in ordered
and hashed
indices when Modifier
and Rollback are
different types (ticket #4130).
Proto:
Minor change in behavior: when using
proto::and_ as a transform, apply all
transforms but only return the result of applying the last. See Proto's
Release
Notes for details.
Minor change in behavior: 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.
Minor change in behavior: Proto
uses proto::basic_expr instead of proto::expr when possible for better compile
times. See Proto's Release
Notes for details.
Add support for sub-domains.
Introduce per-domain as_expr
and as_child customization
points to allow for domain-specific customization of variable capture
behavior.
The proto::_default transform is also a grammar
that matches the expressions the transform knows how to handle.
Add proto::_void, a no-op primitive transform
that does nothing and returns void.
The proto::pass_through transform doesn't
strip expression wrappers, fixes #4175.
Const-correctness fixes when invoking proto domains.
Regex:
Fixed issues: #4309,
#4215,
#4212,
#4191,
#4132,
#4123,
#4114,
#4036,
#4020,
#3941,
#3902,
#3890.
Spirit:
Spirit V2.4,
see the 'What's
New' section for details.
System:
Change system_category and generic_category to functions, to conform
to the C++0x FCD. This change may cause compile errors some user
code; the fix is add "()" to references to system_category
and generic_category, so that they become function calls.
Fix problems with symbol visibility for shared libraries.
Fixed issues: #4254,
#3994,
#3474.
Thread:
Fixes for miscellaneous trac issues (#2501,
#4341,
#4363,
#3760,
#3761,
#3611,
#2955,
#4071,
#3195,
#3097,
#2874,
#4316,
#4317,
#4322,
#3244,
#2747,
#4305,
#3195,
#2704,
#2293,
#868,
#2918,
#4238,
#3269,
#3178,
#3195).
Fixes for other miscellaneous issues (remove warnings, support newer
compilers, etc.)
TR1:
Fixed VC10 support.
std::tr1::result_of always uses the TR1 ResultOf
protocol, even on compilers that support the C++0x decltype-based implementation.
Type Traits:
Added support for rvalue references throughout the library, plus
two new traits classes is_rvalue_reference and is_lvalue_reference.
Fixes #4407
and #3804.
Fixed ticket #3621.
uBLAS:
New assignment operators to feed in vectors and matrices in many
nice ways (#4034).
Thank you Nasos
New doxygen-based documentation
Enable arithmetic operators (+,-,*,/) to work between ublas containers
of std::complex and integral types (#3649).
Thank you Neal
Removed unused variables in functional.hpp (#4377).
Thank you Marco
New matrix_indirect and vector_indirect views to access elements
with a matrix or vector of indices
Utility:
Added a new template class, boost::initialized<T>,
in order to fix #3472.
New version of value_initialized<T> no longer calls memset when the compiler has implemented
value-initialization completely (#3869).
New template boost::tr1_result_of
that implements the TR1 ResultOf protocol even if boost::result_of
uses the C++0x decltype-based
implementation.
Uuid:
Define BOOST_UUID_NO_TYPE_TRAITS
to remove the dependency on Boost.TypeTraits.
Stream operator<<
handles left, internal, and right manipulators.
Added to_string,
to_wstring to convert
a uuid to a string.
Fixed minor bugs in documentation.
Wave:
See the Changelog
for details.
Xpressive:
Replace non-portable using
declarations with typedefs
in nested_results.
Support user-defined assertions with placeholders for non-local variables.
Updated tools
Boostbook:
Significantly faster.
Improved syntax highlighter.
Quickbook:
Use the cygwin 1.7 API for better path handling.
Improved boostbook generation.
Tweak the grammar to clean up some edge cases.
For more detail see the change
log.
Compilers Tested
Boost's primary test compilers are:
OS X:
GCC 4.0.1 on Intel Leopard.
Linux:
GCC 4.4 on 64-bit Suse.
Windows:
Visual C++ 7.1 SP1, 8.0 SP1, 9.0 SP1 and 10.0.
GCC 4.3.3, using Mingw.
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
Linux:
Intel 10.1 on 32 bit Red Hat Enterprise Linux.
Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux.
GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise Linux.
GCC, with C++0x extensions, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise
Linux.
GCC 4.4 on 64 bit Suse.
QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise
Linux.
Clang from subversion (will be released with LLVM 2.8).
OS X:
Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
GCC 4.0.1, 4.2.1 (Apple build).
GCC 4.4
GCC, with C++0x extensions, 4.4
Clang from subversion (will be released with LLVM 2.8).
Windows:
Visual C++ 7.1 SP, 8.0, 9.0 on 32-bit XP.
Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
Visual C++ 10.0 on XP.
Visual C++ 10.0 on 64-bit Windows 7.
Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
GCC 4.3.3, 4.5 on Mingw.
GCC, with C++0x extensions, 4.5 on Mingw.
AIX:
IBM XL C/C++ Enterprise Edition, V11.1.0.0, on AIX Version 5.3.0.40.
FreeBSD:
GCC 4.2.1 on FreeBSD 7.2, 64 bit.
GCC 4.2.1 on FreeBSD 8.0, 32 bit.
Solaris:
Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
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.
[Less]
|
Posted
over 15 years
ago
New Libraries
Functional/factory:
Function
objects for dynamic and by-value construction, from Tobias Schwinger.
Functional/forward:
Function
object adapters to address
... [More]
the forwarding problem, from Tobias Schwinger.
Major Updates
Range:
Boost.Range has
undergone extensive updates that it include all of the features from the
recently reviewed Boost.RangeEx, from Neil Groves.
Range-based version of the full STL iterator based algorithms.
Range adaptors which can be combined with range-based algorithms for
unprecedented expressiveness and efficiency.
New functions: irange, istream_range, join, combine.
Updated Libraries
Accumulators:
Avoid premature template evaluation in operator overload return types.
Array:
Added support for SunCC compiler.
Added 'fill' member function.
Changed exception code to use boost::throw_exception.
Asio:
Improved performance.
Reduced compile times.
Reduced the size of generated code.
Extended the guarantee that background threads don't call user code to
all asynchronous operations (#3923).
Changed to use edge-triggered epoll on Linux.
Changed to use timerfd
for dispatching timers on Linux, when available.
Changed to use one-shot notifications with kqueue on Mac OS X and BSD
platforms.
Added a bitmask type ip::resolver_query_base::flags
as per the TR2 proposal. This type prevents implicit conversion from
int to flags,
allowing the compiler to catch cases where users incorrectly pass a numeric
port number as the service name.
Added #define NOMINMAX
for all Windows compilers. Users can define BOOST_ASIO_NO_NOMINMAX
to suppress this definition (#3901).
Fixed a bug where 0-byte asynchronous reads were incorrectly passing
an error::eof result to the completion handler
(#4023).
Changed the io_control() member functions to always call ioctl on the underlying descriptor
when modifying blocking mode (#3307).
Changed the resolver implementation to longer require the typedefs InternetProtocol::resolver_query and InternetProtocol::resolver_iterator,
as neither typedef is part of the documented InternetProtocol
requirements. The corresponding typedefs in the ip::tcp,
ip::udp and ip::icmp
classes have been deprecated.
Fixed out-of-band handling for reactors not based on select().
Added new BOOST_ASIO_DISABLE_THREADS
macro that allows Asio's threading support to be independently disabled.
Minor documentation improvements.
Fusion:
Added new macros for adapting or defining custom types. See the Changelog
for details.
Iostreams:
Minor fixes (#2505,
#3839,
#3953,
#3723,
#3969,
#4135).
Multi-index Containers:
Serialization
of non default constructible values is now properly supported
through user-provided facilities save_construct_data
and load_construct_data.
multi_index_container
serialization class
version has been bumped from 1 to 2.
Proto:
Minor change in behavior: non-const expression self-assignment creates
an assign node. See Proto's Release
Notes for details.
Minor change to recommended expression extension mechanism: use BOOST_PROTO_EXTENDS_USING_ASSIGN().
See Proto's Release
Notes for details.
Fix error in invocation of callable monomorphic function objects in Proto
transforms.
Fix misc const correctness issues, work around fusion bug.
Add non-const function call overloads to proto terminals.
Add a default constructor to proto::literal<>.
Do not use deprecated config macros.
Add proto::assert_matches()
function and friends to <boost/proto/debug.hpp>.
functional::make_expr<>
and functional::unpack_expr<>
return const-qualified rvalues.
Add documentation for Expr and Domain concepts.
Random:
Put the implementation of random_device in a compiled lib, and added
Windows support.
Rewrote the documentation using Quickbook/Doxygen/Boostbook and brought
it up to date.
Spirit:
Spirit V2.3, see
the 'What's
New' section for details.
Thread:
Uses boost::throw_exception for all exceptions
except thread_interrupted
Added fix for issue 2742
Optimizations to mutex locks and call_once
Unordered:
erase_return_void is
now quick_erase (#3966).
Uuid:
Split generators into separate files.
Fixed bug in basic_random_generator (#3971).
Updated documentation.
Wave:
See the Changelog
for details.
Xpressive:
Add missing include to <boost/xpressive/regex_error.hpp>.
Build System
When cross-compiling to GNU targets, static libraries are properly created.
Previously, using such libraries resulted in Archive has no index
error.
The naming of DLL and import libraries with gcc compiler on Windows, both
mingw and cygwin, now matches default conventions of those environments.
Previously, the naming scheme was the same as for other Windows compilers.
Updated Tools
Quickbook:
Unicode escape characters.
Support the UTF-8 byte order mark.
Disallow [ in simple markup.
Fixes some errors with mismatched punctuation.
Add a command line flag (-D) to define macros at the command
line.
Improved post-processor output.
Check that [section] and [endsect]
tags are balanced in templates.
Compilers Tested
Boost's primary test compilers are:
OS X:
GCC 4.0.1 on Intel Leopard.
Linux:
GCC 4.4.1 on Ubuntu Linux.
GCC 4.4 on 64-bit Suse.
Windows:
Visual C++ 8.0 SP1 and 9.0 SP1 on Windows XP.
GCC 4.3.3, using Mingw
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
Linux:
Intel 10.1, 11.1 on 32 bit Red Hat Enterprise Linux.
Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux.
GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3 on Red Hat Enterprise Linux.
GCC 4.3.4, 4.4.3 with C++0x extensions on Red Hat Enterprise Linux.
QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise
Linux.
OS X:
Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
GCC 4.0.1 on Intel Leopard.
Clang from subversion.
Windows:
Visual C++ 8,0, 9,0 on 32-bit XP.
Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
Visual C++ 10.0 on XP.
Visual C++ 10.0 on 64-bit Windows 7.
Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
GCC 4.3.3 on Mingw.
GCC 4.4.3 on Mingw, with and without C++0x extensions.
GCC 4.5 on Mingw.
AIX:
IBM XL C/C++ Enterprise Edition, V10.1.0.0, on AIX Version 5.3.0.40.
FreeBSD:
GCC 4.2.1 on FreeBSD 7.2, 64 bit.
GCC 4.2.1 on FreeBSD 8.0, 32 bit.
Solaris:
Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James
and Vladimir Prus managed this release.
[Less]
|
Posted
over 15 years
ago
New Libraries
Functional/factory:
Function
objects for dynamic and by-value construction, from Tobias Schwinger.
Functional/forward:
Function
object adapters to address
... [More]
the forwarding problem, from Tobias Schwinger.
Major Updates
Range:
Boost.Range has
undergone extensive updates that it include all of the features from the
recently reviewed Boost.RangeEx, from Neil Groves.
Range-based version of the full STL iterator based algorithms.
Range adaptors which can be combined with range-based algorithms for
unpresedented expressiveness and efficiency.
New functions: irange, istream_range, join, combine.
Updated Libraries
Accumulators:
Avoid premature template evaluation in operator overload return types.
Array:
Added support for SunCC compiler.
Added 'fill' member function.
Changed exception code to use boost::throw_exception.
Asio:
Improved performance.
Reduced compile times.
Reduced the size of generated code.
Extended the guarantee that background threads don't call user code to
all asynchronous operations (#3923).
Changed to use edge-triggered epoll on Linux.
Changed to use timerfd
for dispatching timers on Linux, when available.
Changed to use one-shot notifications with kqueue on Mac OS X and BSD
platforms.
Added a bitmask type ip::resolver_query_base::flags
as per the TR2 proposal. This type prevents implicit conversion from
int to flags,
allowing the compiler to catch cases where users incorrectly pass a numeric
port number as the service name.
Added #define NOMINMAX
for all Windows compilers. Users can define BOOST_ASIO_NO_NOMINMAX
to suppress this definition (#3901).
Fixed a bug where 0-byte asynchronous reads were incorrectly passing
an error::eof result to the completion handler
(#4023).
Changed the io_control() member functions to always call ioctl on the underlying descriptor
when modifying blocking mode (#3307).
Changed the resolver implementation to longer require the typedefs InternetProtocol::resolver_query and InternetProtocol::resolver_iterator,
as neither typedef is part of the documented InternetProtocol
requirements. The corresponding typedefs in the ip::tcp,
ip::udp and ip::icmp
classes have been deprecated.
Fixed out-of-band handling for reactors not based on select().
Added new BOOST_ASIO_DISABLE_THREADS
macro that allows Asio's threading support to be independently disabled.
Minor documentation improvements.
Fusion:
Added new macros for adapting or defining custom types. See the Changelog
for details.
Iostreams:
Minor fixes (#2505,
#3839,
#3953,
#3723,
#3969,
#4135).
Multi-index Containers:
Serialization
of non default constructible values is now properly supported
through user-provided facilities save_construct_data
and load_construct_data.
multi_index_container
serialization class
version has been bumped from 1 to 2.
Proto:
Minor change in behavior: non-const expression self-assignment creates
an assign node. See Proto's Release
Notes for details.
Minor change to recommended expression extension mechanism: use BOOST_PROTO_EXTENDS_USING_ASSIGN().
See Proto's Release
Notes for details.
Fix error in invocation of callable monomorphic function objects in Proto
transforms.
Fix misc const correctness issues, work around fusion bug.
Add non-const function call overloads to proto terminals.
Add a default constructor to proto::literal<>.
Do not use deprecated config macros.
Add proto::assert_matches()
function and friends to <boost/proto/debug.hpp>.
functional::make_expr<>
and functional::unpack_expr<>
return const-qualified rvalues.
Add documentation for Expr and Domain concepts.
Random:
Put the implementation of random_device in a compiled lib, and added
Windows support.
Rewrote the documentation using Quickbook/Doxygen/Boostbook and brought
it up to date.
Spirit:
Spirit V2.3, see
the 'What's
New' section for details.
Thread:
Uses boost::throw_exception for all exceptions
except thread_interrupted
Added fix for issue 2742
Optimizations to mutex locks and call_once
Unordered:
erase_return_void is
now quick_erase (#3966).
Uuid:
Split generators into separate files.
Fixed bug in basic_random_generator (#3971).
Updated documentation.
Wave:
See the Changelog
for details.
Xpressive:
Add missing include to <boost/xpressive/regex_error.hpp>.
Build System
When cross-compiling to GNU targets, static libraries are properly created.
Previously, using such libraries resulted in Archive has no index
error.
The naming of DLL and import libraries with gcc compiler on Windows, both
mingw and cygwin, now matches default conventions of those environments.
Previously, the naming scheme was the same as for other Windows compilers.
Updated Tools
Quickbook:
Unicode escape characters.
Support the UTF-8 byte order mark.
Disallow [ in simple markup.
Fixes some errors with mismatched punctuation.
Add a command line flag (-D) to define macros at the command
line.
Improved post-processor output.
Check that [section] and [endsect]
tags are balanced in templates.
Compilers Tested
Boost's primary test compilers are:
OS X:
GCC 4.0.1 on Intel Leopard.
Linux:
GCC 4.4.1 on Ubuntu Linux.
GCC 4.4 on 64-bit Suse.
Windows:
Visual C++ 8.0 SP1 and 9.0 SP1 on Windows XP.
GCC 4.3.3, using Mingw
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
Linux:
Intel 10.1, 11.1 on 32 bit Red Hat Enterprise Linux.
Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux.
GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3 on Red Hat Enterprise Linux.
GCC 4.3.4, 4.4.3 with C++0x extensions on Red Hat Enterprise Linux.
QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise
Linux.
OS X:
Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
GCC 4.0.1 on Intel Leopard.
Clang from subversion.
Windows:
Visual C++ 8,0, 9,0 on 32-bit XP.
Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
Visual C++ 10.0 on XP.
Visual C++ 10.0 on 64-bit Windows 7.
Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
GCC 4.3.3 on Mingw.
GCC 4.4.3 on Mingw, with and without C++0x extensions.
GCC 4.5 on Mingw.
AIX:
IBM XL C/C++ Enterprise Edition, V10.1.0.0, on AIX Version 5.3.0.40.
FreeBSD:
GCC 4.2.1 on FreeBSD 7.2, 64 bit.
GCC 4.2.1 on FreeBSD 8.0, 32 bit.
Solaris:
Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James
and Vladimir Prus managed this release.
[Less]
|
Posted
over 15 years
ago
New Libraries
Functional/factory:
Function
objects for dynamic and by-value construction, from Tobias Schwinger.
Functional/forward:
Function
object adapters to address
... [More]
the forwarding problem, from Tobias Schwinger.
Major Updates
Range:
Boost.Range has
undergone extensive updates that it include all of the features from the
recently reviewed Boost.RangeEx, from Neil Groves.
Range-based version of the full STL iterator based algorithms.
Range adaptors which can be combined with range-based algorithms for
unprecedented expressiveness and efficiency.
New functions: irange, istream_range, join, combine.
Updated Libraries
Accumulators:
Avoid premature template evaluation in operator overload return types.
Array:
Added support for SunCC compiler.
Added 'fill' member function.
Changed exception code to use boost::throw_exception.
Asio:
Improved performance.
Reduced compile times.
Reduced the size of generated code.
Extended the guarantee that background threads don't call user code to
all asynchronous operations (#3923).
Changed to use edge-triggered epoll on Linux.
Changed to use timerfd
for dispatching timers on Linux, when available.
Changed to use one-shot notifications with kqueue on Mac OS X and BSD
platforms.
Added a bitmask type ip::resolver_query_base::flags
as per the TR2 proposal. This type prevents implicit conversion from
int to flags,
allowing the compiler to catch cases where users incorrectly pass a numeric
port number as the service name.
Added #define NOMINMAX
for all Windows compilers. Users can define BOOST_ASIO_NO_NOMINMAX
to suppress this definition (#3901).
Fixed a bug where 0-byte asynchronous reads were incorrectly passing
an error::eof result to the completion handler
(#4023).
Changed the io_control() member functions to always call ioctl on the underlying descriptor
when modifying blocking mode (#3307).
Changed the resolver implementation to longer require the typedefs InternetProtocol::resolver_query and InternetProtocol::resolver_iterator,
as neither typedef is part of the documented InternetProtocol
requirements. The corresponding typedefs in the ip::tcp,
ip::udp and ip::icmp
classes have been deprecated.
Fixed out-of-band handling for reactors not based on select().
Added new BOOST_ASIO_DISABLE_THREADS
macro that allows Asio's threading support to be independently disabled.
Minor documentation improvements.
Fusion:
Added new macros for adapting or defining custom types. See the Changelog
for details.
Iostreams:
Minor fixes (#2505,
#3839,
#3953,
#3723,
#3969,
#4135).
Multi-index Containers:
Serialization
of non default constructible values is now properly supported
through user-provided facilities save_construct_data
and load_construct_data.
multi_index_container
serialization class
version has been bumped from 1 to 2.
Proto:
Minor change in behavior: non-const expression self-assignment creates
an assign node. See Proto's Release
Notes for details.
Minor change to recommended expression extension mechanism: use BOOST_PROTO_EXTENDS_USING_ASSIGN().
See Proto's Release
Notes for details.
Fix error in invocation of callable monomorphic function objects in Proto
transforms.
Fix misc const correctness issues, work around fusion bug.
Add non-const function call overloads to proto terminals.
Add a default constructor to proto::literal<>.
Do not use deprecated config macros.
Add proto::assert_matches()
function and friends to <boost/proto/debug.hpp>.
functional::make_expr<>
and functional::unpack_expr<>
return const-qualified rvalues.
Add documentation for Expr and Domain concepts.
Random:
Put the implementation of random_device in a compiled lib, and added
Windows support.
Rewrote the documentation using Quickbook/Doxygen/Boostbook and brought
it up to date.
Spirit:
Spirit V2.3, see
the 'What's
New' section for details.
Thread:
Uses boost::throw_exception for all exceptions
except thread_interrupted
Added fix for issue 2742
Optimizations to mutex locks and call_once
Unordered:
erase_return_void is
now quick_erase (#3966).
Uuid:
Split generators into separate files.
Fixed bug in basic_random_generator (#3971).
Updated documentation.
Wave:
See the Changelog
for details.
Xpressive:
Add missing include to <boost/xpressive/regex_error.hpp>.
Build System
When cross-compiling to GNU targets, static libraries are properly created.
Previously, using such libraries resulted in Archive has no index
error.
The naming of DLL and import libraries with gcc compiler on Windows, both
mingw and cygwin, now matches default conventions of those environments.
Previously, the naming scheme was the same as for other Windows compilers.
Updated Tools
Quickbook:
Unicode escape characters.
Support the UTF-8 byte order mark.
Disallow [ in simple markup.
Fixes some errors with mismatched punctuation.
Add a command line flag (-D) to define macros at the command
line.
Improved post-processor output.
Check that [section] and [endsect]
tags are balanced in templates.
Compilers Tested
Boost's primary test compilers are:
OS X:
GCC 4.0.1 on Intel Leopard.
Linux:
GCC 4.4.1 on Ubuntu Linux.
GCC 4.4 on 64-bit Suse.
Windows:
Visual C++ 8.0 SP1 and 9.0 SP1 on Windows XP.
GCC 4.3.3, using Mingw
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
Linux:
Intel 10.1, 11.1 on 32 bit Red Hat Enterprise Linux.
Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux.
GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3 on Red Hat Enterprise Linux.
GCC 4.3.4, 4.4.3 with C++0x extensions on Red Hat Enterprise Linux.
QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise
Linux.
OS X:
Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
GCC 4.0.1 on Intel Leopard.
Clang from subversion.
Windows:
Visual C++ 8,0, 9,0 on 32-bit XP.
Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
Visual C++ 10.0 on XP.
Visual C++ 10.0 on 64-bit Windows 7.
Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
GCC 4.3.3 on Mingw.
GCC 4.4.3 on Mingw, with and without C++0x extensions.
GCC 4.5 on Mingw.
AIX:
IBM XL C/C++ Enterprise Edition, V10.1.0.0, on AIX Version 5.3.0.40.
FreeBSD:
GCC 4.2.1 on FreeBSD 7.2, 64 bit.
GCC 4.2.1 on FreeBSD 8.0, 32 bit.
Solaris:
Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James
and Vladimir Prus managed this release.
[Less]
|
Posted
over 15 years
ago
New Libraries
Functional/factory:
Function
objects for dynamic and by-value construction, from Tobias Schwinger.
Functional/forward:
Function
object adapters to address
... [More]
the forwarding problem, from Tobias Schwinger.
Major Updates
Range:
Boost.Range has
undergone extensive updates that it include all of the features from the
recently reviewed Boost.RangeEx, from Neil Groves.
Range-based version of the full STL iterator based algorithms.
Range adaptors which can be combined with range-based algorithms for
unpresedented expressiveness and efficiency.
New functions: irange, istream_range, join, combine.
Updated Libraries
Accumulators:
Avoid premature template evaluation in operator overload return types.
Array:
Added support for SunCC compiler.
Added 'fill' member function.
Changed exception code to use boost::throw_exception.
Asio:
Improved performance.
Reduced compile times.
Reduced the size of generated code.
Extended the guarantee that background threads don't call user code to
all asynchronous operations (#3923).
Changed to use edge-triggered epoll on Linux.
Changed to use timerfd
for dispatching timers on Linux, when available.
Changed to use one-shot notifications with kqueue on Mac OS X and BSD
platforms.
Added a bitmask type ip::resolver_query_base::flags
as per the TR2 proposal. This type prevents implicit conversion from
int to flags,
allowing the compiler to catch cases where users incorrectly pass a numeric
port number as the service name.
Added #define NOMINMAX
for all Windows compilers. Users can define BOOST_ASIO_NO_NOMINMAX
to suppress this definition (#3901).
Fixed a bug where 0-byte asynchronous reads were incorrectly passing
an error::eof result to the completion handler
(#4023).
Changed the io_control() member functions to always call ioctl on the underlying descriptor
when modifying blocking mode (#3307).
Changed the resolver implementation to longer require the typedefs InternetProtocol::resolver_query and InternetProtocol::resolver_iterator,
as neither typedef is part of the documented InternetProtocol
requirements. The corresponding typedefs in the ip::tcp,
ip::udp and ip::icmp
classes have been deprecated.
Fixed out-of-band handling for reactors not based on select().
Added new BOOST_ASIO_DISABLE_THREADS
macro that allows Asio's threading support to be independently disabled.
Minor documentation improvements.
Fusion:
Added new macros for adapting or defining custom types. See the Changelog
for details.
Iostreams:
Minor fixes (#2505,
#3839,
#3953,
#3723,
#3969,
#4135).
Multi-index Containers:
Serialization
of non default constructible values is now properly supported
through user-provided facilities save_construct_data
and load_construct_data.
multi_index_container
serialization class
version has been bumped from 1 to 2.
Proto:
Minor change in behavior: non-const expression self-assignment creates
an assign node. See Proto's Release
Notes for details.
Minor change to recommended expression extension mechanism: use BOOST_PROTO_EXTENDS_USING_ASSIGN().
See Proto's Release
Notes for details.
Fix error in invocation of callable monomorphic function objects in Proto
transforms.
Fix misc const correctness issues, work around fusion bug.
Add non-const function call overloads to proto terminals.
Add a default constructor to proto::literal<>.
Do not use deprecated config macros.
Add proto::assert_matches()
function and friends to <boost/proto/debug.hpp>.
functional::make_expr<>
and functional::unpack_expr<>
return const-qualified rvalues.
Add documentation for Expr and Domain concepts.
Random:
Put the implementation of random_device in a compiled lib, and added
Windows support.
Rewrote the documentation using Quickbook/Doxygen/Boostbook and brought
it up to date.
Spirit:
Spirit V2.3, see
the 'What's
New' section for details.
Thread:
Uses boost::throw_exception for all exceptions
except thread_interrupted
Added fix for issue 2742
Optimizations to mutex locks and call_once
Unordered:
erase_return_void is
now quick_erase (#3966).
Uuid:
Split generators into separate files.
Fixed bug in basic_random_generator (#3971).
Updated documentation.
Wave:
See the Changelog
for details.
Xpressive:
Add missing include to <boost/xpressive/regex_error.hpp>.
Build System
When cross-compiling to GNU targets, static libraries are properly created.
Previously, using such libraries resulted in Archive has no index
error.
The naming of DLL and import libraries with gcc compiler on Windows, both
mingw and cygwin, now matches default conventions of those environments.
Previously, the naming scheme was the same as for other Windows compilers.
Updated Tools
Quickbook:
Unicode escape characters.
Support the UTF-8 byte order mark.
Disallow [ in simple markup.
Fixes some errors with mismatched punctuation.
Add a command line flag (-D) to define macros at the command
line.
Improved post-processor output.
Check that [section] and [endsect]
tags are balanced in templates.
Compilers Tested
Boost's primary test compilers are:
OS X:
GCC 4.0.1 on Intel Leopard.
Linux:
GCC 4.4.1 on Ubuntu Linux.
GCC 4.4 on 64-bit Suse.
Windows:
Visual C++ 8.0 SP1 and 9.0 SP1 on Windows XP.
GCC 4.3.3, using Mingw
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
Linux:
Intel 10.1, 11.1 on 32 bit Red Hat Enterprise Linux.
Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux.
GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3 on Red Hat Enterprise Linux.
GCC 4.3.4, 4.4.3 with C++0x extensions on Red Hat Enterprise Linux.
QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise
Linux.
OS X:
Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
GCC 4.0.1 on Intel Leopard.
Clang from subversion.
Windows:
Visual C++ 8,0, 9,0 on 32-bit XP.
Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
Visual C++ 10.0 on XP.
Visual C++ 10.0 on 64-bit Windows 7.
Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
GCC 4.3.3 on Mingw.
GCC 4.4.3 on Mingw, with and without C++0x extensions.
GCC 4.5 on Mingw.
AIX:
IBM XL C/C++ Enterprise Edition, V10.1.0.0, on AIX Version 5.3.0.40.
FreeBSD:
GCC 4.2.1 on FreeBSD 7.2, 64 bit.
GCC 4.2.1 on FreeBSD 8.0, 32 bit.
Solaris:
Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James
and Vladimir Prus managed this release.
[Less]
|
Posted
over 15 years
ago
New Libraries
Functional/factory:
Function
objects for dynamic and by-value construction, from Tobias Schwinger.
Functional/forward:
Function
object adapters to address
... [More]
the forwarding problem, from Tobias Schwinger.
Major Updates
Range:
Boost.Range has
undergone extensive updates that it include all of the features from the
recently reviewed Boost.RangeEx, from Neil Groves.
Range-based version of the full STL iterator based algorithms.
Range adaptors which can be combined with range-based algorithms for
unprecedented expressiveness and efficiency.
New functions: irange, istream_range, join, combine.
Updated Libraries
Accumulators:
Avoid premature template evaluation in operator overload return types.
Array:
Added support for SunCC compiler.
Added 'fill' member function.
Changed exception code to use boost::throw_exception.
Asio:
Improved performance.
Reduced compile times.
Reduced the size of generated code.
Extended the guarantee that background threads don't call user code to
all asynchronous operations (#3923).
Changed to use edge-triggered epoll on Linux.
Changed to use timerfd
for dispatching timers on Linux, when available.
Changed to use one-shot notifications with kqueue on Mac OS X and BSD
platforms.
Added a bitmask type ip::resolver_query_base::flags
as per the TR2 proposal. This type prevents implicit conversion from
int to flags,
allowing the compiler to catch cases where users incorrectly pass a numeric
port number as the service name.
Added #define NOMINMAX
for all Windows compilers. Users can define BOOST_ASIO_NO_NOMINMAX
to suppress this definition (#3901).
Fixed a bug where 0-byte asynchronous reads were incorrectly passing
an error::eof result to the completion handler
(#4023).
Changed the io_control() member functions to always call ioctl on the underlying descriptor
when modifying blocking mode (#3307).
Changed the resolver implementation to longer require the typedefs InternetProtocol::resolver_query and InternetProtocol::resolver_iterator,
as neither typedef is part of the documented InternetProtocol
requirements. The corresponding typedefs in the ip::tcp,
ip::udp and ip::icmp
classes have been deprecated.
Fixed out-of-band handling for reactors not based on select().
Added new BOOST_ASIO_DISABLE_THREADS
macro that allows Asio's threading support to be independently disabled.
Minor documentation improvements.
Fusion:
Added new macros for adapting or defining custom types. See the Changelog
for details.
Iostreams:
Minor fixes (#2505,
#3839,
#3953,
#3723,
#3969,
#4135).
Multi-index Containers:
Serialization
of non default constructible values is now properly supported
through user-provided facilities save_construct_data
and load_construct_data.
multi_index_container
serialization class
version has been bumped from 1 to 2.
Proto:
Minor change in behavior: non-const expression self-assignment creates
an assign node. See Proto's Release
Notes for details.
Minor change to recommended expression extension mechanism: use BOOST_PROTO_EXTENDS_USING_ASSIGN().
See Proto's Release
Notes for details.
Fix error in invocation of callable monomorphic function objects in Proto
transforms.
Fix misc const correctness issues, work around fusion bug.
Add non-const function call overloads to proto terminals.
Add a default constructor to proto::literal<>.
Do not use deprecated config macros.
Add proto::assert_matches()
function and friends to .
functional::make_expr<>
and functional::unpack_expr<>
return const-qualified rvalues.
Add documentation for Expr and Domain concepts.
Random:
Put the implementation of random_device in a compiled lib, and added
Windows support.
Rewrote the documentation using Quickbook/Doxygen/Boostbook and brought
it up to date.
Spirit:
Spirit V2.3, see
the 'What's
New' section for details.
Thread:
Uses boost::throw_exception for all exceptions
except thread_interrupted
Added fix for issue 2742
Optimizations to mutex locks and call_once
Unordered:
erase_return_void is
now quick_erase (#3966).
Uuid:
Split generators into separate files.
Fixed bug in basic_random_generator (#3971).
Updated documentation.
Wave:
See the Changelog
for details.
Xpressive:
Add missing include to .
Build System
When cross-compiling to GNU targets, static libraries are properly created.
Previously, using such libraries resulted in Archive has no index
error.
The naming of DLL and import libraries with gcc compiler on Windows, both
mingw and cygwin, now matches default conventions of those environments.
Previously, the naming scheme was the same as for other Windows compilers.
Updated Tools
Quickbook:
Unicode escape characters.
Support the UTF-8 byte order mark.
Disallow [ in simple markup.
Fixes some errors with mismatched punctuation.
Add a command line flag (-D) to define macros at the command
line.
Improved post-processor output.
Check that [section] and [endsect]
tags are balanced in templates.
Compilers Tested
Boost's primary test compilers are:
OS X:
GCC 4.0.1 on Intel Leopard.
Linux:
GCC 4.4.1 on Ubuntu Linux.
GCC 4.4 on 64-bit Suse.
Windows:
Visual C++ 8.0 SP1 and 9.0 SP1 on Windows XP.
GCC 4.3.3, using Mingw
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
Linux:
Intel 10.1, 11.1 on 32 bit Red Hat Enterprise Linux.
Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux.
GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3 on Red Hat Enterprise Linux.
GCC 4.3.4, 4.4.3 with C++0x extensions on Red Hat Enterprise Linux.
QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise
Linux.
OS X:
Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
GCC 4.0.1 on Intel Leopard.
Clang from subversion.
Windows:
Visual C++ 8,0, 9,0 on 32-bit XP.
Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
Visual C++ 10.0 on XP.
Visual C++ 10.0 on 64-bit Windows 7.
Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
GCC 4.3.3 on Mingw.
GCC 4.4.3 on Mingw, with and without C++0x extensions.
GCC 4.5 on Mingw.
AIX:
IBM XL C/C++ Enterprise Edition, V10.1.0.0, on AIX Version 5.3.0.40.
FreeBSD:
GCC 4.2.1 on FreeBSD 7.2, 64 bit.
GCC 4.2.1 on FreeBSD 8.0, 32 bit.
Solaris:
Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James
and Vladimir Prus managed this release.
[Less]
|
Posted
over 15 years
ago
New Libraries
Uuid:
A universally unique
identifier, from Andy Tompkins.
Updated Libraries
Asio:
Added a new HTTP Server 4
... [More]
example illustrating the use of stackless coroutines
with Asio.
Changed handler allocation and invocation to use boost::addressof
to get the address of handler objects, rather than applying operator&
directly (#2977).
Restricted MSVC buffer debugging workaround to 2008, as it causes a crash
with 2010 beta 2 (#3796,
#3822).
Fixed a problem with the lifetime of handler memory, where Windows needs
the OVERLAPPED structure
to be valid until both the initiating function call has returned and
the completion packet has been delivered.
Don't block signals while performing system calls, but instead restart
the calls if they are interrupted.
Documented the guarantee made by strand objects with respect to order
of handler invocation.
Changed strands to use a pool of implementations, to make copying of
strands cheaper.
Ensured that kqueue support is enabled for BSD platforms (#3626).
Added a boost_ prefix
to the extern "C"
thread entry point function (#3809).
In getaddrinfo emulation,
only check the socket type (SOCK_STREAM
or SOCK_DGRAM) if a service
name has been specified. This should allow the emulation to work with
raw sockets.
Added a workaround for some broken Windows firewalls that make a socket
appear bound to 0.0.0.0 when it is in fact bound to 127.0.0.1.
Applied a fix for reported excessive CPU usage under Solaris (#3670).
Added some support for platforms that use older compilers such as g++
2.95 (#3743).
Circular Buffer:
Added methods erase_begin(size_type) and erase_end(size_type) with constant
complexity for such types of stored elements which do not need an explicit
destruction e.g. int or double.
Similarly changed implementation of the clear() method and the destructor
so their complexity is now constant for such types of stored elements
which do not require an explicit destruction (the complexity for other
types remains linear).
Fusion:
The accumulator is the first argument to the functor of fusion::fold and fusion::accumulate
(#2355).
Added support for associative iterators and views (#3473).
Graph:
Removed old interface to compressed_sparse_row_graph,
making new interface the default.
Integer:
Reverted Trunk to release branch state (i.e. a "known good state").
Fixed issues: 653,
3084,
3177,
3180,
3568,
3657,
2134.
Added long long support to boost::static_log2, boost::static_signed_min,
boost::static_signed_max, boost::static_unsigned_minboost::static_unsigned_max,
when available.
The argument type and the result type of boost::static_signed_min
etc are now typedef'd. Formerly, they were hardcoded as unsigned
long and int respectively. Please, use the
provided typedefs in new code (and update old code as soon as possible).
Iostreams:
Fixed many outstanding issues. Thanks to Richard Smith for his work on
this. (#3612,
#3311,
#2094,
#3010,
#2894,
#3011,
#3352,
#3505).
For more information see the library
release notes.
Program.Options:
Information about option name added to a few exception classes and various
clean ups in exception classes (#3423).
Description wordwrapping in presense of default parameters fixed (#2613).
Empty value in configuration file is now permitted (#1537).
Quotes are no longer stripped from string values (#850).
Fix endless loop in case of long default arguments (#689).
Fix compile warning caused by usage of boost::any (#2562).
Fix memory bug in example/response_file.cpp (#3525).
Most compilation warnings were fixed (#3608).
Make column width for description text configurable. (#3703).
Add general split function: split_unix() (#2561).
Enable open config files from given file name (#3264).
Additional flag for required options (#2982).
Enable case insensitive style for command line (#3498).
PropertyMap:
Removed old header files (directly in the boost/ directory); they were deprecated since
1.40, replaced by headers in boost/property_map/.
Proto:
Fix const correctness issues with proto::flatten
and friends (#3364).
Accomodate recent change to fusion::fold,
remove old support for Doxygen and pre-1.35 Fusion (#3553).
In binary operations, when one operand has a user-specified domain and
the other has the default domain, the user-specified domain trumps.
Fix BOOST_PROTO_EXTENDS
to work with elaborated types.
Work around EDG compiler bug with function types and cv-qualification.
Regex:
Added support for Functors rather than strings as format expressions.
Improved error reporting when throwing exceptions to include better more
relevant information.
Improved performance and reduced stack usage of recursive expressions.
Fixed tickets #2802,
#3425,
#3507,
#3546,
#3631,
#3632,
#3715,
#3718,
#3763,
#3764
Spirit:
Spirit V2.2, see
the 'What's
New' section for details.
Unordered:
Support instantiating the containers with incomplete value types.
Add erase_return_void
as a temporary workaround for the current erase
which can be inefficient because it has to find the next element to return
an iterator (#3693).
Add templated find overload for compatible keys.
Improved codegear compatibility.
Other minor changes, full details in the
changelog.
Xpressive:
match_results no longer
relies on undefined behavior in std::list
(#3278).
Do NOT copy singular iterators (#3538).
Eliminate gcc and darwin warnings (#3734).
Compilers Tested
Boost's primary test compilers are:
OS X:
GCC 4.0.1 on Intel Leopard.
GCC 4.0.1 on PowerPC Tiger.
Linux:
GCC 4.4.1 on Ubuntu Linux.
GCC 4.4 on Debian.
Windows:
Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP.
Visual C++ 9.0 on Windows 2008, 64 bit.
GCC 4.3.3, using Mingw
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
Linux:
Intel 10.1 on Red Hat Enterprise Linux.
Intel 10.1 on 64 bit Red Hat Enterprise Linux.
Intel 11.0 on 32 bit Red Hat Enterprise Linux.
Intel 11.0 on 64 bit Red Hat Enterprise Linux.
Intel 11.1 on 64 bit Red Hat Enterprise Linux.
Intel 11.1 on 64 bit Linux Redhat 5.1 Server.
Intel 11.1 on Suse Linux 64 bit.
GCC 3.4.6, GCC 4.2.4, GCC 4.3.4 and GCC 4.4.2 on Red Hat Enterprise Linux.
GCC 4.3.4 and GCC 4.4.2 with C++0x extensions on Red Hat Enterprise Linux.
GCC 4.4.1 on 64 bit Linux.
GCC 4.4.3 on Debian unstable.
QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise
Linux.
OS X:
Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
GCC 4.0.1 on Intel Leopard.
GCC 4.0.1 on PowerPC Tiger.
Windows:
Visual C++ 7.1, 8,0, 9,0 on XP.
Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
Visual C++ 10.0 beta 2.
Visual C++ 10.0 on 32-bit Vista.
Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
GCC 4.4.1 on Mingw, with and without C++0x extensions.
AIX:
IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40.
FreeBSD:
GCC 4.2.1 on FreeBSD 7.0, 32 bit and 64 bit.
Solaris:
Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James
and Vladimir Prus managed this release.
[Less]
|