Posted
over 12 years
ago
Updated Libraries
Accumulators:
Fix long-standing dependency tracking bug, #7409
... [More]
Config:
Define BOOST_NO_SFINAE_EXPR
for gcc-4.4, since the support was found to be too buggy.
Chrono:
New Features:
#5980 Enhance chrono I/O with H. Hinnant proposal proposal
which has the advantage to provide I/O for system clocks using
the Gregorian Calendar.
#5981 Add i/o state savers for duration and time_point formatting
state.
#7059 Add low level i/o facilities.
Deprecated features:
The chrono i/o version included in Boost.Chrono 1.2.x has been
completly refactored in version 2.0.0
chrono I/O: The manipulators __duration_short,
__duration_long
are depreceated. You should use the parameterized form __duration_fmt or the renamed
manipulators __duration_symbol
and __duration_prefix
instead.
chrono I/O: The __duration_punct<> facet is deprecated.
You should use the __get_duration_style
free function to get the informations and use the __duration_units facet for
localization purposes.
When BOOST_CHRONO_VERSION==2
the preceding deprecated functions are not available.
Fixes:
#7381 C++11 compliance: unresolved symbol when assigning
a constexpr duration to a non-const local variable.
#7479
Compile fails with compilers supporting constexpr fails if
the standard library doesn't provides the constexpr interface
Would not fix:
#6871 chrono_io.hpp: operator<<(ostream& os, ...)
modifies the state of os. The neww io interface provided in
version 2 solves this issue. You should move to the new version.
Container:
Improved stable_vector's
template code bloat and type safety.
Changed typedefs and reordered functions of sequence containers to
improve doxygen documentation.
Fixed bugs #6615,
#7139,
#7215,
#7232,
#7269,
#7439.
Implemented LWG Issue #149 (range insertion now returns an iterator)
& cleaned up insertion code in most containers
Corrected aliasing errors.
DateTime:
Document BOOST_DATE_TIME_NO_LIB
(#6077).
Fix nth_as_str (#7022).
Fix some warnings (#7234).
Foreach:
Fix alignment warning on gcc.
Function:
Move constructors and move assignment operators added (only for compilers
with C++11 rvalue references support) #7330.
Graph:
Fixed bugs #6950, #7226,#7308, #7327, #7338,
#7341, #7378, #7380, #7398, and #7428, plus others
not in Trac.
Hash:
Restore enum support,
which was accidentally removed in the last version (#7437).
New floating point hasher - will hash the binary representation on
more platforms, which should be faster.
Interprocess:
Added shrink_by and
advise functions
in mapped_region.
ABI breaking: Reimplemented message_queue with a circular buffer
index (the old behavior used an ordered array, leading to excessive
copies). This should greatly increase performance but breaks ABI.
Old behaviour/ABI can be used undefining macro BOOST_INTERPROCESS_MSG_QUEUE_CIRCULAR_INDEX
in boost/interprocess/detail/workaround.hpp
Improved message_queue
insertion time avoiding priority search for common cases (both array
and circular buffer configurations).
Implemented interproces_sharable_mutex
and interproces_condition_any.
Improved offset_ptr
performance.
Added integer overflow checks.
Iterator:
Fixed:
#5825 constructing function_input_iterator without consuming
an item
#7194 Error in documentation of make_function_input_iterator
Breaking changes:
Due to the fix for #5825, a function_input_iterator will
no longer make unnecessary invokations to the wrapped nullary
function. For example, constructing an end iterator will now
not trigger an invokation; and dereferencing-and-incrementing
an iterator N times will trigger N invokations, not N+1 as
before. User code that relied on the old behavior will need
to be adjusted.
Lexical cast:
Restored compilation on MSVC-2003 (was broken in 1.51.0) #7255.
Added lexical_cast(const CharType*
chars,
std::size_t count) function overload. #6663.
Fixed bug #7228.
Math:
Added Airy functions and Jacobi Elliptic functions.
In several distributions (particulary the Students T) corrected moments
for small degrees of freedom #7177
(reported by Thomas Mang).
Corrected failure to detect bad parameters in many distributions
#6934
(reported by Florian Schoppmann) by adding a function check_out_of_range to test many
possible bad parameters. This test revealed several distributions
where the checks for bad parameters were ineffective, and these have
been rectified.
Fixed issue in Hankel functions that causes incorrect values to be
returned for x < 0 and ν
odd, see #7135.
In non-central T permitted infinite degrees of freedom #7259
implemented using the normal distribution (requested by Thomas Mang).
Also much enhanced accuracy for large degrees of freedom and/or large
non-centrality parameters by switching to use the Students t distribution
(or Normal distribution for infinite degrees of freedom) centered
at delta, when delta / (4 * v) < epsilon for the floating-point
type in use. See #7259.
It was also found that the incomplete beta was suffering from serious
cancellation errors when degrees of freedom was very large. (That
has now been fixed in our code, but any code based on Didonato and
Morris's original papers (probably every implementation out there
actually) will have the same issue).
Fixed minor issues #6517,
#6362,
#7053,
#2693,
#6937,
#7099.
Phoenix:
Make Phoenix work with decltype-based
boost::result_of.
Polygon:
Included Voronoi diagram extensions.
Introduced new Segment concept.
Fixed compilation issues.
Proto:
The data parameter to primitive transforms can now optionally have
slots indexed by key.
Primitive transforms can now operatate on temporary expressions that
are non-const qualified.
Add callable function object types for the free functions in <iterator> and also for some Boost.Range
functions.
Boost.MPL algorithms work on Proto expression nodes.
proto::pass_through primitive transform
now accepts an optional Domain
template parameter for specifying the target domain of the resulting
expression.
Ratio:
Features:
Replace the short_name
and long_name
functions by symbol and prefix functions respectively.
Deprecated:
The ratio_string<>::short_name
and ratio_string<>::long_name
are deprecated. Use ratio_string<>::symbol
and ratio_string<>::prefix
respectively. These functions be removed in 1.55.
Fixes:
#7478
Compiles fails with compilers supporting char16_t and char32_t
fails if the library doesn't provides std::u16string and std::u32string.
Result_of:
Switch boost::result_of to use decltype on compilers for which
support is deemed "good enough". That means if the compiler
implements n3276.
(For now, that only includes very recent versions of clang.)
boost::result_of is now "sfinae-friendly"
when it uses decltype.
See n3436.
Thread:
Deprecated Features: Deprecated
features since boost 1.50 available only until boost 1.55. These
deprecated features will be provided by default up to boost 1.52.
If you don't want to include the deprecated features you could define
BOOST_THREAD_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0. Since
1.53 these features will not be included any more by default. Since
this version, if you want to include the deprecated features yet
you could define BOOST_THREAD_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0.
These deprecated features will be only available until boost 1.55,
that is you have yet 1 year to move to the new features.
Time related functions don't using the Boost.Chrono library,
use the chrono overloads instead.
Breaking changes when BOOST_THREAD_VERSION==3
(Default value since Boost 1.53): There are some new features which
share the same interface but with different behavior. These breaking
features are provided by default when BOOST_THREAD_VERSION is 3,
but the user can however choose the version 2 behavior by defining
the corresponding macro. As for the deprecated features, these broken
features will be only available until boost 1.55.
#6229 C++11 compliance & Breaking change: Rename the
unique_future to future following the c++11.
#6266 C++11 compliance & Breaking change: thread destructor
should call terminate if joinable.
#6269 C++11 compliance & Breaking change: thread move
assignment should call terminate if joinable.
New Features:
#4710 C++11 compliance: Missing async().
#7283 C++11 compliance: Add notify_all_at_thread_exit.
#7345 C++11 compliance: Add noexcept
to recursive mutex try_lock.
Fixed Bugs:
#2361 thread_specific_ptr:
document nature of the key, complexity and rationale.
#2797 Two problems with thread_specific_ptr.
#5274 failed to compile future.hpp
with stlport 5.1.5 under msvc8.1, because of undefined class.
#5431 compile error in Windows CE 6.0(interlocked).
#5752 boost::call_once() is unreliable on some platforms.
#7045 Thread library does not automatically compile date_time.
#7173 wrong function name interrupt_point().
#7200 Unable to build boost.thread modularized.
#7220 gcc 4.6.2 warns about inline+dllimport functions.
#7238 this_thread::sleep_for() does not respond to interrupt().
#7245 Minor typos on documentation related to version 3.
#7272 win32/thread_primitives.hpp:
(Unneccessary) Warning.
#7284 Clarify that there is no access priority between lock
and shared_lock on shared mutex.
#7329 boost/thread/future.hpp
does not compile on HPUX.
#7336 BOOST_THREAD_DONT_USE_SYSTEM
doesn't work.
#7349 packaged_task
holds reference to temporary.
#7350 allocator_destructor
does not destroy object
uBLAS:
improved performance of inplace_solve (issue #4024)
fixed coordinate_matrix for use with gcc 4.7 (issue #7363)
Unordered:
In assignment, reuse existing nodes where possible.
Fix bugs when erasing ranges (#7471).
Some work on the implementation.
Uuid:
Fixes #6118, #6788, #7375.
#7128 - fixed bug in sha1.hpp
for messages longer than 536,870,912 bytes.
Wave:
See the Changelog for details.
xpressive:
Make sub_match work
with Boost.Range. Fixes #7237.
Compilers Tested
Boost's primary test compilers are:
Linux:
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7.2
GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
Intel: 11.1, 12.0, 12.1
LLVM Clang: 2.8
OS X:
GCC: 4.4.4
GCC, C++11 mode: 4.4.4
Intel: 11.1, 12.0
Windows:
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0
Visual C++: 8.0, 9.0, 10.0
FreeBSD:
GCC: 4.2.1, 32 and 64 bit
Boost's additional test compilers include:
Linux:
Cray: 8.0
Clang: from subversion
LLVM Clang:
GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1, 4.7.2
GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3, 4.7.1
pgCC: 11.9
Intel: 10.1, 11.1, 12.0, 12.1
Visual Age: 10.1
OS X:
Clang: from subversion
Clang, C++11 mode: from subversion
Intel: 11.1, 12.0
GCC: 4.4.4
GCC, C++11 mode: 4.4.4
Windows:
Visual C++: 8.0, 9.0, 10.0, 11.0
Visual C++ with STLport: 9.0
Visual C++, Windows Mobile 5, with STLport: 9.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0
AIX:
IBM XL C/C++ Enterprise Edition: V12.1.0.0
FreeBSD:
GCC: 4.2.1, 64 bit
Solaris:
Sun: 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 13 years
ago
New Libraries
Context:
Context switching library,
from Oliver Kowalke.
Updated Libraries
Algorithm:
... [More]
Fixed is_sorted_until
; now matches the c++11 standard behavior on ranges with duplicate
values.
Added range support for the rest of the search algorithms.
unhex now uses Boost.Exception
to signal bad input.
Asio:
Fixed an incompatibility between ip::tcp::iostream
and C++11 (#7162).
Decorated GCC attribute names with underscores to prevent interaction
with user-defined macros (#6415).
Added missing #include
<cctype>, needed for some versions of
MinGW.
Changed to use gcc's atomic builtins on ARM CPUs,
when available (#7140).
Changed strand destruction to be a no-op, to allow strand objects
to be destroyed after their associated io_service
has been destroyed.
Added support for some newer versions of glibc which provide the
epoll_create1()
function but always fail with ENOSYS
(#7012).
Changed the SSL implementation to throw an exception if SSL engine
initialisation fails (#6303).
Fixed another regression in buffered_write_stream
(#6310).
Implemented various minor performance improvements, primarily targeted
at Linux x86 and x86-64 platforms.
Config:
Deprecated a whole bunch of macros that were c++11 specific, but
not named to show that they were c++11 specific. Made new macros
with better names, and paired the old macros with the new ones. Updated
the documentation to list the deprecated macros.
Chrono:
#6918
Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid.
#6241
boost::chrono compilation problems without std::wstring support.
#6987
Documentation & C++11.
#7041
time_point.hpp depends on Boost.System.
#7042
Avoiding time_point and duration dependency on time.h and CLOCK_REALTIME.
#7058
Make it work when BOOST_NO_EXCEPTIONS is defined.
#7069
Misspellings in clock_string<thread_clock>.
#7081
WinError.h capitalization in boost/detail/win/basic_types.hpp.
Graph:
Refactored support for internal and bundled properties in Boost.Graph-provided
graph types, and cleaned up named parameter functionality:
Enabled old-style (non-bundled) internal properties in compressed_sparse_row_graph.
Bundled properties should work correctly for all graph types
and adaptors.
Bugs fixed:
#6993: Typo Bundled Properties document
#7002: Problem with initialization of CSR bidirectional
graph
#7023: Enclose internal type graphml_reader in anonymous
namespace
Other bugs and warnings not in Trac
Hash:
Support the standard smart pointers.
hash_value now implemented
using SFINAE to avoid implicit casts to built in types when calling
it.
Updated to use the new config macros.
Lexical cast:
Better performance, less memory usage for boost::array<character_type, N> and std::array<character_type, N> conversions.
Fixed bug with volatile input parameter #7157.
Math:
Updated to use the new config macros.
MSM:
Support for boost::any http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s03.html#any-event
or kleene http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s04.html#kleene-event
as acceptable events
Bugfix: compiler error with fsm internal table and none (compound)
event.
Bugfix: euml::defer_ leading to stack overflow.
Proto:
Proto transforms get pseudo-parameter pack expansion support for
unpacking expressions. See the Release
Notes for more information.
Ratio:
#7075
Workaround for error: the type of partial specialization template
parameter constant "n1" depends on another template parameter.
Regex:
Updated to use the new config macros.
Thread:
#4258
Linking with boost thread does not work on mingw/gcc 4.5.
#4885
Access violation in set_tss_data at process exit due to invalid assumption
about TlsAlloc.
#6931
mutex waits forwever with Intel Compiler and /debug:parallel
#7044
boost 1.50.0 header missing.
#7052
Thread: BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 only
masks thread::operator==, thread::operator!= forward declarations,
not definitions.
#7066
An attempt to fix current_thread_tls_key static initialization order.
#7074
Multiply defined symbol boost::allocator_arg.
#7078
Trivial 64-bit warning fix on Windows for thread attribute stack
size
#7089
BOOST_THREAD_WAIT_BUG limits functionality without solving anything
Unordered:
Fix construction/destruction issue when using a C++11 compiler with
a C++03 allocator (#7100).
Remove a try..catch to support compiling without
exceptions.
Adjust SFINAE use to try to supprt g++ 3.4 (#7175).
Updated to use the new config macros.
Wave:
See the Changelog for details.
Compilers Tested
Boost's primary test compilers are:
Linux:
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7
GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
Intel: 11.1, 12.0, 12.1
LLVM Clang 2.8
OS X:
GCC: 4.4
GCC, C++11 mode: 4.4
Intel: 11.1, 12.0
Windows:
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3
Visual C++: 8.0, 9.0, 10.0
FreeBSD:
GCC: 4.2.1, 32 and 64 bit
Boost's additional test compilers include:
Linux:
Clang: from subversion
LLVM Clang: 3.0
GCC: 4.2.4, 4.3.4, 4.4.4, 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1
GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3
pgCC: 11.9
Intel: 10.1, 11.1, 12.0, 12.1
Visual Age: 10.1
OS X:
Clang: from subversion
Clang, C++11 mode: from subversion
Intel: 11.1, 12.0
GCC: 4.4
GCC, C++11 mode: 4.4
Windows:
Visual C++: 8.0, 9.0, 10.0
GCC, mingw: 4.4.0, 4.6.3, 4.7.0
AIX:
IBM XL C/C++ Enterprise Edition: V12.1.0.0
FreeBSD:
GCC: 4.2.1, 32 and 64 bit
Solaris:
Sun: 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 13 years
ago
New Libraries
Context:
Context switching library,
from Oliver Kowalke.
Updated Libraries
Algorithm:
... [More]
Fixed is_sorted_until
; now matches the c++11 standard behavior on ranges with duplicate
values.
Added range support for the rest of the search algorithms.
unhex now uses Boost.Exception
to signal bad input.
Asio:
Fixed an incompatibility between ip::tcp::iostream
and C++11 (#7162).
Decorated GCC attribute names with underscores to prevent interaction
with user-defined macros (#6415).
Added missing #include
<cctype>, needed for some versions of
MinGW.
Changed to use gcc's atomic builtins on ARM CPUs,
when available (#7140).
Changed strand destruction to be a no-op, to allow strand objects
to be destroyed after their associated io_service
has been destroyed.
Added support for some newer versions of glibc which provide the
epoll_create1()
function but always fail with ENOSYS
(#7012).
Changed the SSL implementation to throw an exception if SSL engine
initialisation fails (#6303).
Fixed another regression in buffered_write_stream
(#6310).
Implemented various minor performance improvements, primarily targeted
at Linux x86 and x86-64 platforms.
Config:
Deprecated a whole bunch of macros that were c++11 specific, but
not named to show that they were c++11 specific. Made new macros
with better names, and paired the old macros with the new ones. Updated
the documentation to list the deprecated macros.
Chrono:
#6918
Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid.
#6241
boost::chrono compilation problems without std::wstring support.
#6987
Documentation & C++11.
#7041
time_point.hpp depends on Boost.System.
#7042
Avoiding time_point and duration dependency on time.h and CLOCK_REALTIME.
#7058
Make it work when BOOST_NO_EXCEPTIONS is defined.
#7069
Misspellings in clock_string<thread_clock>.
#7081
WinError.h capitalization in boost/detail/win/basic_types.hpp.
Graph:
Refactored support for internal and bundled properties in Boost.Graph-provided
graph types, and cleaned up named parameter functionality:
Enabled old-style (non-bundled) internal properties in compressed_sparse_row_graph.
Bundled properties should work correctly for all graph types
and adaptors.
Bugs fixed:
#6993: Typo Bundled Properties document
#7002: Problem with initialization of CSR bidirectional
graph
#7023: Enclose internal type graphml_reader in anonymous
namespace
Other bugs and warnings not in Trac
Hash:
Support the standard smart pointers.
hash_value now implemented
using SFINAE to avoid implicit casts to built in types when calling
it.
Updated to use the new config macros.
Lexical cast:
Better performance, less memory usage for boost::array<character_type, N> and std::array<character_type, N> conversions.
Fixed bug with volatile input parameter #7157.
Math:
Updated to use the new config macros.
MSM:
Support for boost::any http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s03.html#any-event
or kleene http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s04.html#kleene-event
as acceptable events
Bugfix: compiler error with fsm internal table and none (compound)
event.
Bugfix: euml::defer_ leading to stack overflow.
Proto:
Proto transforms get pseudo-parameter pack expansion support for
unpacking expressions. See the Release
Notes for more information.
Ratio:
#7075
Workaround for error: the type of partial specialization template
parameter constant "n1" depends on another template parameter.
Regex:
Updated to use the new config macros.
Thread:
#4258
Linking with boost thread does not work on mingw/gcc 4.5.
#4885
Access violation in set_tss_data at process exit due to invalid assumption
about TlsAlloc.
#6931
mutex waits forwever with Intel Compiler and /debug:parallel
#7044
boost 1.50.0 header missing.
#7052
Thread: BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 only
masks thread::operator==, thread::operator!= forward declarations,
not definitions.
#7066
An attempt to fix current_thread_tls_key static initialization order.
#7074
Multiply defined symbol boost::allocator_arg.
#7078
Trivial 64-bit warning fix on Windows for thread attribute stack
size
#7089
BOOST_THREAD_WAIT_BUG limits functionality without solving anything
Unordered:
Fix construction/destruction issue when using a C++11 compiler with
a C++03 allocator (#7100).
Remove a try..catch to support compiling without
exceptions.
Adjust SFINAE use to try to supprt g++ 3.4 (#7175).
Updated to use the new config macros.
Wave:
See the Changelog for details.
Compilers Tested
Boost's primary test compilers are:
Linux:
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7
GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
Intel: 11.1, 12.0, 12.1
LLVM Clang 2.8
OS X:
GCC: 4.4
GCC, C++11 mode: 4.4
Intel: 11.1, 12.0
Windows:
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3
Visual C++: 8.0, 9.0, 10.0
FreeBSD:
GCC: 4.2.1, 32 and 64 bit
Boost's additional test compilers include:
Linux:
Clang: from subversion
LLVM Clang: 3.0
GCC: 4.2.4, 4.3.4, 4.4.4, 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1
GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3
pgCC: 11.9
Intel: 10.1, 11.1, 12.0, 12.1
Visual Age: 10.1
OS X:
Clang: from subversion
Clang, C++11 mode: from subversion
Intel: 11.1, 12.0
GCC: 4.4
GCC, C++11 mode: 4.4
Windows:
Visual C++: 8.0, 9.0, 10.0
GCC, mingw: 4.4.0, 4.6.3, 4.7.0
AIX:
IBM XL C/C++ Enterprise Edition: V12.1.0.0
FreeBSD:
GCC: 4.2.1, 32 and 64 bit
Solaris:
Sun: 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 13 years
ago
Patches
Locale
Patch - Fixes a bug which causes boost::locale::utf::utf_traits
to accept some invalid UTF-8 sequences, which is a possible security flaw.
New
... [More]
Libraries
Context:
Context switching library,
from Oliver Kowalke.
Updated Libraries
Algorithm:
Fixed is_sorted_until
; now matches the c++11 standard behavior on ranges with duplicate
values.
Added range support for the rest of the search algorithms.
unhex now uses Boost.Exception
to signal bad input.
Asio:
Fixed an incompatibility between ip::tcp::iostream
and C++11 (#7162).
Decorated GCC attribute names with underscores to prevent interaction
with user-defined macros (#6415).
Added missing #include
<cctype>, needed for some versions of
MinGW.
Changed to use gcc's atomic builtins on ARM CPUs,
when available (#7140).
Changed strand destruction to be a no-op, to allow strand objects
to be destroyed after their associated io_service
has been destroyed.
Added support for some newer versions of glibc which provide the
epoll_create1()
function but always fail with ENOSYS
(#7012).
Changed the SSL implementation to throw an exception if SSL engine
initialisation fails (#6303).
Fixed another regression in buffered_write_stream
(#6310).
Implemented various minor performance improvements, primarily targeted
at Linux x86 and x86-64 platforms.
Config:
Deprecated a whole bunch of macros that were c++11 specific, but
not named to show that they were c++11 specific. Made new macros
with better names, and paired the old macros with the new ones. Updated
the documentation to list the deprecated macros.
Chrono:
#6918
Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid.
#6241
boost::chrono compilation problems without std::wstring support.
#6987
Documentation & C++11.
#7041
time_point.hpp depends on Boost.System.
#7042
Avoiding time_point and duration dependency on time.h and CLOCK_REALTIME.
#7058
Make it work when BOOST_NO_EXCEPTIONS is defined.
#7069
Misspellings in clock_string.
#7081
WinError.h capitalization in boost/detail/win/basic_types.hpp.
Geometry:
points accessed through a pointer (e.g. in a linestring) should now
be specialized without the pointer. In previous versions a type
my_point used like
linestring<my_point*>
had to be specalized like: template<> struct
tag<my_point*>.
Now the library itself removes the pointer before calling the traits
class, so now it should be like: template<> struct
tag<my_point>
intersection was sometimes wrong for integer points, fixed
documentation, order of parameters in simplify was wrong, fixed
7030
spherical distance, fixed (by patch of Karsten Ahnert)
Graph:
Refactored support for internal and bundled properties in Boost.Graph-provided
graph types, and cleaned up named parameter functionality:
Enabled old-style (non-bundled) internal properties in compressed_sparse_row_graph.
Bundled properties should work correctly for all graph types
and adaptors.
Bugs fixed:
#6993: Typo Bundled Properties document
#7002: Problem with initialization of CSR bidirectional
graph
#7023: Enclose internal type graphml_reader in anonymous
namespace
Other bugs and warnings not in Trac
Hash:
Support the standard smart pointers.
hash_value now implemented
using SFINAE to avoid implicit casts to built in types when calling
it.
Updated to use the new config macros.
Lexical cast:
Better performance, less memory usage for boost::array<character_type, N> and std::array<character_type, N> conversions.
Fixed bug with volatile input parameter #7157.
Math:
Updated to use the new config macros.
MSM:
Support for boost::any https://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s03.html#any-event
or kleene https://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s04.html#kleene-event
as acceptable events
Bugfix: compiler error with fsm internal table and none (compound)
event.
Bugfix: euml::defer_ leading to stack overflow.
Proto:
Proto transforms get pseudo-parameter pack expansion support for
unpacking expressions. See the Release
Notes for more information.
Ratio:
#7075
Workaround for error: the type of partial specialization template
parameter constant "n1" depends on another template parameter.
Regex:
Updated to use the new config macros.
Thread:
#4258
Linking with boost thread does not work on mingw/gcc 4.5.
#4885
Access violation in set_tss_data at process exit due to invalid assumption
about TlsAlloc.
#6931
mutex waits forwever with Intel Compiler and /debug:parallel
#7044
boost 1.50.0 header missing.
#7052
Thread: BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 only
masks thread::operator==, thread::operator!= forward declarations,
not definitions.
#7066
An attempt to fix current_thread_tls_key static initialization order.
#7074
Multiply defined symbol boost::allocator_arg.
#7078
Trivial 64-bit warning fix on Windows for thread attribute stack
size
#7089
BOOST_THREAD_WAIT_BUG limits functionality without solving anything
Unordered:
Fix construction/destruction issue when using a C++11 compiler with
a C++03 allocator (#7100).
Remove a try..catch to support compiling without
exceptions.
Adjust SFINAE use to try to supprt g++ 3.4 (#7175).
Updated to use the new config macros.
Wave:
See the Changelog for details.
xpressive:
Work around buggy wide ctype facet on cygwin and mingw.
Work around absence of __isctype on some glibc implementations.
op::as shouldn't assume string::iterator != char*.
Fix assertion in cpp_regex_traits
on libc++, thanks to John Fletcher.
Compilers Tested
Boost's primary test compilers are:
Linux:
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7
GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
Intel: 11.1, 12.0, 12.1
LLVM Clang 2.8
OS X:
GCC: 4.4
GCC, C++11 mode: 4.4
Intel: 11.1, 12.0
Windows:
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3
Visual C++: 8.0, 9.0, 10.0
FreeBSD:
GCC: 4.2.1, 32 and 64 bit
Boost's additional test compilers include:
Linux:
Clang: from subversion
LLVM Clang: 3.0
GCC: 4.2.4, 4.3.4, 4.4.4, 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1
GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3
pgCC: 11.9
Intel: 10.1, 11.1, 12.0, 12.1
Visual Age: 10.1
OS X:
Clang: from subversion
Clang, C++11 mode: from subversion
Intel: 11.1, 12.0
GCC: 4.4
GCC, C++11 mode: 4.4
Windows:
Visual C++: 8.0, 9.0, 10.0
GCC, mingw: 4.4.0, 4.6.3, 4.7.0
AIX:
IBM XL C/C++ Enterprise Edition: V12.1.0.0
FreeBSD:
GCC: 4.2.1, 32 and 64 bit
Solaris:
Sun: 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 13 years
ago
New Libraries
Context:
Context switching library,
from Oliver Kowalke.
Updated Libraries
Algorithm:
... [More]
Fixed is_sorted_until
; now matches the c++11 standard behavior on ranges with duplicate
values.
Added range support for the rest of the search algorithms.
unhex now uses Boost.Exception
to signal bad input.
Asio:
Fixed an incompatibility between ip::tcp::iostream
and C++11 (#7162).
Decorated GCC attribute names with underscores to prevent interaction
with user-defined macros (#6415).
Added missing #include
<cctype>, needed for some versions of
MinGW.
Changed to use gcc's atomic builtins on ARM CPUs,
when available (#7140).
Changed strand destruction to be a no-op, to allow strand objects
to be destroyed after their associated io_service
has been destroyed.
Added support for some newer versions of glibc which provide the
epoll_create1()
function but always fail with ENOSYS
(#7012).
Changed the SSL implementation to throw an exception if SSL engine
initialisation fails (#6303).
Fixed another regression in buffered_write_stream
(#6310).
Implemented various minor performance improvements, primarily targeted
at Linux x86 and x86-64 platforms.
Config:
Deprecated a whole bunch of macros that were c++11 specific, but
not named to show that they were c++11 specific. Made new macros
with better names, and paired the old macros with the new ones. Updated
the documentation to list the deprecated macros.
Chrono:
#6918
Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid.
#6241
boost::chrono compilation problems without std::wstring support.
#6987
Documentation & C++11.
#7041
time_point.hpp depends on Boost.System.
#7042
Avoiding time_point and duration dependency on time.h and CLOCK_REALTIME.
#7058
Make it work when BOOST_NO_EXCEPTIONS is defined.
#7069
Misspellings in clock_string.
#7081
WinError.h capitalization in boost/detail/win/basic_types.hpp.
Geometry:
points accessed through a pointer (e.g. in a linestring) should now
be specialized without the pointer. In previous versions a type
my_point used like
linestring<my_point*>
had to be specalized like: template<> struct
tag<my_point*>.
Now the library itself removes the pointer before calling the traits
class, so now it should be like: template<> struct
tag<my_point>
intersection was sometimes wrong for integer points, fixed
documentation, order of parameters in simplify was wrong, fixed
7030
spherical distance, fixed (by patch of Karsten Ahnert)
Graph:
Refactored support for internal and bundled properties in Boost.Graph-provided
graph types, and cleaned up named parameter functionality:
Enabled old-style (non-bundled) internal properties in compressed_sparse_row_graph.
Bundled properties should work correctly for all graph types
and adaptors.
Bugs fixed:
#6993: Typo Bundled Properties document
#7002: Problem with initialization of CSR bidirectional
graph
#7023: Enclose internal type graphml_reader in anonymous
namespace
Other bugs and warnings not in Trac
Hash:
Support the standard smart pointers.
hash_value now implemented
using SFINAE to avoid implicit casts to built in types when calling
it.
Updated to use the new config macros.
Lexical cast:
Better performance, less memory usage for boost::array<character_type, N> and std::array<character_type, N> conversions.
Fixed bug with volatile input parameter #7157.
Math:
Updated to use the new config macros.
MSM:
Support for boost::any http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s03.html#any-event
or kleene http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s04.html#kleene-event
as acceptable events
Bugfix: compiler error with fsm internal table and none (compound)
event.
Bugfix: euml::defer_ leading to stack overflow.
Proto:
Proto transforms get pseudo-parameter pack expansion support for
unpacking expressions. See the Release
Notes for more information.
Ratio:
#7075
Workaround for error: the type of partial specialization template
parameter constant "n1" depends on another template parameter.
Regex:
Updated to use the new config macros.
Thread:
#4258
Linking with boost thread does not work on mingw/gcc 4.5.
#4885
Access violation in set_tss_data at process exit due to invalid assumption
about TlsAlloc.
#6931
mutex waits forwever with Intel Compiler and /debug:parallel
#7044
boost 1.50.0 header missing.
#7052
Thread: BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 only
masks thread::operator==, thread::operator!= forward declarations,
not definitions.
#7066
An attempt to fix current_thread_tls_key static initialization order.
#7074
Multiply defined symbol boost::allocator_arg.
#7078
Trivial 64-bit warning fix on Windows for thread attribute stack
size
#7089
BOOST_THREAD_WAIT_BUG limits functionality without solving anything
Unordered:
Fix construction/destruction issue when using a C++11 compiler with
a C++03 allocator (#7100).
Remove a try..catch to support compiling without
exceptions.
Adjust SFINAE use to try to supprt g++ 3.4 (#7175).
Updated to use the new config macros.
Wave:
See the Changelog for details.
xpressive:
Work around buggy wide ctype facet on cygwin and mingw.
Work around absence of __isctype on some glibc implementations.
op::as shouldn't assume string::iterator != char*.
Fix assertion in cpp_regex_traits
on libc++, thanks to John Fletcher.
Compilers Tested
Boost's primary test compilers are:
Linux:
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7
GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
Intel: 11.1, 12.0, 12.1
LLVM Clang 2.8
OS X:
GCC: 4.4
GCC, C++11 mode: 4.4
Intel: 11.1, 12.0
Windows:
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3
Visual C++: 8.0, 9.0, 10.0
FreeBSD:
GCC: 4.2.1, 32 and 64 bit
Boost's additional test compilers include:
Linux:
Clang: from subversion
LLVM Clang: 3.0
GCC: 4.2.4, 4.3.4, 4.4.4, 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1
GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3
pgCC: 11.9
Intel: 10.1, 11.1, 12.0, 12.1
Visual Age: 10.1
OS X:
Clang: from subversion
Clang, C++11 mode: from subversion
Intel: 11.1, 12.0
GCC: 4.4
GCC, C++11 mode: 4.4
Windows:
Visual C++: 8.0, 9.0, 10.0
GCC, mingw: 4.4.0, 4.6.3, 4.7.0
AIX:
IBM XL C/C++ Enterprise Edition: V12.1.0.0
FreeBSD:
GCC: 4.2.1, 32 and 64 bit
Solaris:
Sun: 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 13 years
ago
New Libraries
Algorithm:
A collection of
useful generic algorithms, from Marshall Clow. This includes several different
searching algorithms, as well as most of the new algorithms from the
... [More]
C++11
standard library
Functional/OverloadedFunction:
Overload
different functions into a single function object, from Lorenzo Caminiti.
LocalFunction:
Program
functions locally, within other functions, directly within the scope where
they are needed, from Lorenzo Caminiti.
Utility/IdentityType:
Wrap
types within round parenthesis so they can always be passed as macro parameters,
from Lorenzo Caminiti.
Updated Libraries
Accumulators:
add missing #include
<boost/throw_exception.hpp>, fixes #6702.
work around for msvc which allows ctor templates to be copy ctors,
fixes #6535.
shorten filenames to meet boost guidelines, fixes #6196.
Array:
add support for Boost.Hash #6791.
Asio:
Changed the epoll_reactor
backend to do lazy registration for EPOLLOUT
events.
Fixed the epoll_reactor
handling of out-of-band data, which was broken by an incomplete fix
in the last release.
Changed Asio's SSL wrapper to respect OpenSSL's OPENSSL_NO_ENGINE
feature test #define
(#6432).
Fixed windows::object_handle so that it works
with Windows compilers that support C++11 move semantics (such as
g++).
Improved the performance of strand rescheduling.
Added support for g++ 4.7 when compiling in C++11
mode (#6620).
Fixed a problem where signal_set
handlers were not being delivered when the io_service
was constructed with a concurrency_hint
of 1 (#6657).
Bimap:
Remove spurious dependency on Boost.Serialization, fixes #3868.
Solve unused constructor parameter warning, fixes #5749.
Add key_type and mapped_type (leaving data_type for backward compatibility)
typedefs to map views, fixes #6031.
Chrono:
Fixed Bugs:
#6361
integer overflow in boost::chrono::process_real_cpu_clock::now()
under Windows 32bits.
#6628
compiler warning in process_cpu_clocks.hpp.
#6666
thread_clock.hpp needs pthread.h.
Concept Check:
Fixed:
#6738
Shadowed variable warning.
Filesystem:
Remove Filesystem Version 2 from the distribution. Version 3 is now
the only distributed version. Those still using V2 are urged to migrate
to V3 as soon as possible.
Add constexpr value_type preferred_separator to class path.
Fix #5118,
replace_extension
doesn't work as specified in documentation. The documentation, implementation,
and test cases have all had fixes applied. The documentation had
failed to mention that any existing extension is removed. The behavior
for simple cases has been reverted to the Version 2 behavior, but
with corrections so that complex replacements now work. Two test
cases from #5118
have been added.
Fix #3737,
Boost.Filesystem does not compile on Windows Mobile. On Windows,
<sys/stat.h> is no longer included.
Fix #4065,
Boost Filesystem lexicographic path comparison inconsistent. This
required multiple source code bug fixes and code cleanup, correcting
problems not related to lexicographical issues.
Add class path member function compare for consistency with std::string.
Tighten BOOST_FILESYSTEM_DYN_LINK
and BOOST_FILESYSTEM_STATIC_LINK
logic in filesystem/config.hpp
so that one or the other is always defined, and both being defined
is a #error.
Fix #6690
and #6737,
resolving static linking related problems with VC++ 8 through 11.
Note that this fix may reintroduce codecvt thread safety problems
#4889,
#6320,
for these compilers if static linking is used.
Add path::operator+=
and concat functions to tack on things like suffixes or numbers.
Suggested by Ed Smith-Rowland and others.
Fix #6809,
Implementation of filesystem::rename() method for MS Windows is wrong,
by adding MOVEFILE_COPY_ALLOWED
to deal with renames across drives, volumes, file systems. Fix has
no effect on non-Windows systems.
Fix #6819,
A path operand with a source that was a one character array was treated
as empty, even if it wasn't empty. Such arrays can occur in unions
or in code using C variable length array idioms.
Fix #6932,
create_directories throws exception even if error_code
is specified.
Foreach:
Revert fix for #6131
which caused more harm than good.
Geometry:
Fixed Bugs:
the return type of comparable projected point strategy for
integer points was wrong (integer), fixed
several robustness issues in intersection of segments and polygons,
fixed
invalid intersection output is filtered out
disjoint for multi_polygon's might incorrectly return true,
fixed
Solved tickets
6585
patch for alternative syntax multipoint, applied
6584
patch for bug in distance, applied
5730
same issue as 6584, fixed
6166
patch for missing transformation, applied
6696
invalid intersection output, was (by chance) already fixed
in Trunk before reported
Additional functionality
added algorithm "touches" (OGC SF compliant) for
*polygon/*polygon
Graph:
Fixed Bugs:
#4622
clear_vertex on a vertex with a self-loop can cause a segmentation
fault.
#6033
Lowpoint map calculated by biconnected_components(...) is sometimes
wrong.
#6242
isomorphism doesn't reset mapping.
#6435
cube_topology documentation should say 3D, not 2D.
#6520
small_world_1_70_6_0p02.png is broken in documentation of graph_parallel.
#6564
BGL copy constructor for subgraph does not track local vertices/edges.
#6573
BGL: boost::isomorphism routine fails with large graphs.
#6583
Dijkstra Visitor Concept docs probably show wrong type for
variable.
#6647
BGL strong_components do not compile on MSVC 8.
#6656
Dependent type in subgraph used without typename.
#6707
is_straight_line_drawing.hpp missing #include <map>.
#6708
Make bool boost::intersects() in is_straight_line_drawing.hpp
inline?
#6739
Cannot use write_graphviz_dp with a constified subgraph.
#6858
boost::get() calls wrongly resolved by g++.
#6892
VertexIndexGraph concept not required for bron_kerbosch_all_cliques().
Other bugs and warnings not in Trac.
Hash:
Support std::array and std::tuple
when available (#6806).
Avoid gcc's -Wfloat-equal
warning (#6771).
Add deprecation warning to the long deprecated boost/functional/detail/container_fwd.hpp.
Iostreams:
Improved gzip support (#5908).
Update tests for latest Boost.Filesystem and Boost.Test.
Fix some documentation errors (#6530,
#6650).
Iterator:
Fixed:
#5127
Incorrect result_of usage in transform_iterator
#5697
iterator_facade::operator-> is broken for proxy references
MultiArray:
Concepts bug fix and Workaround for Visual Studio 2010 (#4874)
Fix to assert.cpp test case (Patch)
Lexical cast:
boost::bad_lexical_cast exception is now
globaly visible and can be catched even if code is compiled with
-fvisibility=hidden
Now it is possible to compile and use library with disabled exceptions
#5800
Better performance, less memory usage and bugfixes for boost::iterator_range<character_type*>
conversions
Fixed bugs and warnings: #6645,
#6562,
#6812,
#6852,
#6717,
#6770,
#6504.
Locale:
Fixed build issues with STLPort library
Boost.System is now required depenency
Fixed bugs #6635,
#6833
Math:
Promoted math constants to be 1st class citizens, including convenient
access to the most widely used built-in float, double, long double
via three namespaces.
Added the Owen's T function and Skew Normal distribution written
by Benjamin Sobotta.
Added Hankel functions.
Corrected issue #6627
nonfinite_num_put formatting of 0.0 is incorrect based on
a patch submitted by K R Walker.
Changed constant initialization mechanism so that it is thread safe
even for user-defined types, also so that user defined types get
the full precision of the constant, even when long
double does not. So for example
128-bit rational approximations will work with UDT's and do the right
thing, even though long double may be only 64 or 80 bits.
Fixed issue in bessel_jy
which causes Y[sub 8.5](4[pi]) to yield a NaN.
MSM:
eUML : better syntax for front-ends defined with eUML as transition
table only. Caution: Breaking Change!http://www.boost.org/doc/libs/1_50_0/libs/msm/doc/HTML/ch03s04.html#eUML-composite-table
Bugfix: graph building was only working if initial_state defined
as a sequence.
Bugfix: flags defined for a Terminate or Interrupt state do not break
the blocking function of these states any more.
Bugfix: multiple deferred events from several regions were not working
in every case.
Bugfix: visitor was passed by value to submachines.
Bugfix: no_transition was not called for submachines who send an
event to themselves.
Fixed warnings with gcc.
Program Options:
Improved error reporting (Patch
from Leo Goodstadt).
Support for customizing name of option's value in help messages (#4781)
Fixed compilation with gcc 4.7 (#6790).
PropertyMap:
Fixed Bugs:
#6539
the return type of get() is not documented correctly.
#6721
property_map_traits documentation does not mention reference.
Proto:
Use decltype-based
result_of if and
only if the compiler implements N3276.
For C++11, force parameter to mpl::eval_if_c
and mpl::if_c to be bool.
Disable '__forceinline not inlined' warning on
msvc.
Ratio:
Fixed Bugs:
#6498
boost::ratio won't compile with default settings.
ScopeExit:
New Features:
Use variadic macros to specify captures as commas-separated
lists (but kept preprocessor sequence syntax for backward compatibility).
Capture the object in scope using this_.
Support empty captures using void.
Implicit lambda-like captures using BOOST_SCOPE_EXIT_ALL
on compilers that support C++11 lambda functions.
Thread:
New Features:
#1850
Request for unlock_guard to compliment lock_guard.
#2637
Request for shared_mutex duration timed_lock and timed_lock_shared.
#2741
Proposal to manage portable and non portable thread attributes.
#3567
Request for shared_lock_guard.
#6194
Adapt to Boost.Move.
#6195
c++11 compliance: Provide the standard time related interface
using Boost.Chrono.
#6217
Enhance Boost.Thread shared mutex interface following Howard
Hinnant proposal.
#6224
c++11 compliance: Add the use of standard noexcept on compilers
supporting them.
#6226
c++11 compliance: Add explicit bool conversion from locks.
#6228
Add promise constructor with allocator following the standard
c++11.
#6230
c++11 compliance: Follows the exception reporting mechanism
as defined in the c++11.
#6266
Breaking change: thread destructor should call terminate if
joinable.
#6269
Breaking change: thread move assignment should call terminate
if joinable.
#6272
c++11 compliance: Add thread::id hash specialization.
#6273
c++11 compliance: Add cv_status enum class and use it on the
conditions wait functions.
#6231
Add BasicLockable requirements in the documentation to follow
c++11.
#6342
c++11 compliance: Adapt the one_flag to the c++11 interface.
#6671
upgrade_lock: missing mutex and release functions.
#6672
upgrade_lock:: missing constructors from time related types.
#6675
upgrade_lock:: missing non-member swap.
Added missing packaged_task::result_type and packaged_task::
constructor with allocator.
Added packaged_task::reset()
Fixed Bugs:
#2575
Bug- Boost 1.36.0 on Itanium platform.
#4345
thread::id and joining problem with cascade of threads.
#4921
BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB are crucial and
need to be documented.
#5013
documentation: boost::thread: pthreas_exit causes terminate().
#5173
boost::this_thread::get_id is very slow.
#5351
interrupt a future get boost::unknown_exception.
#5516
Upgrade lock is not acquired when previous upgrade lock releases
if another read lock is present.
#5990
shared_future<T>::get() has wrong return type.
#6174
packaged_task doesn't correctly handle moving results.
#6222
Compile error with SunStudio: unique_future move.
#6673
shared_lock: move assign doesn't works with c++11.
#6674
shared_mutex: try_lock_upgrade_until doesn't works.
Fix issue signaled on the ML with task_object(task_object const&)
in presence of task_object(task_object&&)
Unordered:
Fix equality for unordered_multiset
and unordered_multimap.
Implement reserve
(#6857).
Avoid gcc's -Wfloat-equal
and -Wshadow
warnings (#6190,
#6771).
Fix namespace issue with bcp (#6905).
Fix Sun workarounds (#6784).
Some internal changes to bucket allocation.
See the change
log for full details.
Wave:
Wave V2.3.2, see the Changelog
for details.
xpressive:
Remove very ugly lexical_cast
hack with a slightly less ugly one.
Replace MPL assert with static assert since it's problematic in C++11,
fixes #6846.
Compilers Tested
Boost's primary test compilers are:
Linux:
Intel: 11.1
LLVM Clang 2.8
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
OS X:
Intel: 11.1
GCC: 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 9.0, 10.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.1, 4.7.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit
QNX:
QCC, C++0x mode: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0
Boost's additional test compilers include:
Linux:
Clang from subversion
GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.3, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.4, 4.5.3, 4.6.2
pgCC: 11.9
Intel: 10.1, 11.1, 12.0, 12.1
Visual Age 10.1
OS X:
Clang from subversion
Intel 11.1, 12.0
GCC: 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 10.0
Visual C++ with STLport: 9.0
Visual C++, Windows Mobile 5, with STLport: 9.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.2, 4.5.4, 4.6.4, 4.7.0
GCC, C++0x mode, mingw: 4.5.2
AIX:
IBM XL C/C++ Enterprise Edition, V12.1.0.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit
Solaris:
Sun 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 13 years
ago
New Libraries
Algorithm:
A collection of
useful generic algorithms, from Marshall Clow. This includes several different
searching algorithms, as well as most of the new algorithms from the
... [More]
C++11
standard library
Functional/OverloadedFunction:
Overload
different functions into a single function object, from Lorenzo Caminiti.
LocalFunction:
Program
functions locally, within other functions, directly within the scope where
they are needed, from Lorenzo Caminiti.
Utility/IdentityType:
Wrap
types within round parenthesis so they can always be passed as macro parameters,
from Lorenzo Caminiti.
Updated Libraries
Accumulators:
add missing #include
<boost/throw_exception.hpp>, fixes #6702.
work around for msvc which allows ctor templates to be copy ctors,
fixes #6535.
shorten filenames to meet boost guidelines, fixes #6196.
Array:
add support for Boost.Hash #6791.
Asio:
Changed the epoll_reactor
backend to do lazy registration for EPOLLOUT
events.
Fixed the epoll_reactor
handling of out-of-band data, which was broken by an incomplete fix
in the last release.
Changed Asio's SSL wrapper to respect OpenSSL's OPENSSL_NO_ENGINE
feature test #define
(#6432).
Fixed windows::object_handle so that it works
with Windows compilers that support C++11 move semantics (such as
g++).
Improved the performance of strand rescheduling.
Added support for g++ 4.7 when compiling in C++11
mode (#6620).
Fixed a problem where signal_set
handlers were not being delivered when the io_service
was constructed with a concurrency_hint
of 1 (#6657).
Bimap:
Remove spurious dependency on Boost.Serialization, fixes #3868.
Solve unused constructor parameter warning, fixes #5749.
Add key_type and mapped_type (leaving data_type for backward compatibility)
typedefs to map views, fixes #6031.
Chrono:
Fixed Bugs:
#6361
integer overflow in boost::chrono::process_real_cpu_clock::now()
under Windows 32bits.
#6628
compiler warning in process_cpu_clocks.hpp.
#6666
thread_clock.hpp needs pthread.h.
Concept Check:
Fixed:
#6738
Shadowed variable warning.
Filesystem:
Remove Filesystem Version 2 from the distribution. Version 3 is now
the only distributed version. Those still using V2 are urged to migrate
to V3 as soon as possible.
Add constexpr value_type preferred_separator to class path.
Fix #5118,
replace_extension
doesn't work as specified in documentation. The documentation, implementation,
and test cases have all had fixes applied. The documentation had
failed to mention that any existing extension is removed. The behavior
for simple cases has been reverted to the Version 2 behavior, but
with corrections so that complex replacements now work. Two test
cases from #5118
have been added.
Fix #3737,
Boost.Filesystem does not compile on Windows Mobile. On Windows,
<sys/stat.h> is no longer included.
Fix #4065,
Boost Filesystem lexicographic path comparison inconsistent. This
required multiple source code bug fixes and code cleanup, correcting
problems not related to lexicographical issues.
Add class path member function compare for consistency with std::string.
Tighten BOOST_FILESYSTEM_DYN_LINK
and BOOST_FILESYSTEM_STATIC_LINK
logic in filesystem/config.hpp
so that one or the other is always defined, and both being defined
is a #error.
Fix #6690
and #6737,
resolving static linking related problems with VC++ 8 through 11.
Note that this fix may reintroduce codecvt thread safety problems
#4889,
#6320,
for these compilers if static linking is used.
Add path::operator+=
and concat functions to tack on things like suffixes or numbers.
Suggested by Ed Smith-Rowland and others.
Fix #6809,
Implementation of filesystem::rename() method for MS Windows is wrong,
by adding MOVEFILE_COPY_ALLOWED
to deal with renames across drives, volumes, file systems. Fix has
no effect on non-Windows systems.
Fix #6819,
A path operand with a source that was a one character array was treated
as empty, even if it wasn't empty. Such arrays can occur in unions
or in code using C variable length array idioms.
Fix #6932,
create_directories throws exception even if error_code
is specified.
Foreach:
Revert fix for #6131
which caused more harm than good.
Geometry:
Fixed Bugs:
the return type of comparable projected point strategy for
integer points was wrong (integer), fixed
several robustness issues in intersection of segments and polygons,
fixed
invalid intersection output is filtered out
disjoint for multi_polygon's might incorrectly return true,
fixed
Solved tickets
6585
patch for alternative syntax multipoint, applied
6584
patch for bug in distance, applied
5730
same issue as 6584, fixed
6166
patch for missing transformation, applied
6696
invalid intersection output, was (by chance) already fixed
in Trunk before reported
Additional functionality
added algorithm "touches" (OGC SF compliant) for
*polygon/*polygon
Graph:
Fixed Bugs:
#4622
clear_vertex on a vertex with a self-loop can cause a segmentation
fault.
#6033
Lowpoint map calculated by biconnected_components(...) is sometimes
wrong.
#6242
isomorphism doesn't reset mapping.
#6435
cube_topology documentation should say 3D, not 2D.
#6520
small_world_1_70_6_0p02.png is broken in documentation of graph_parallel.
#6564
BGL copy constructor for subgraph does not track local vertices/edges.
#6573
BGL: boost::isomorphism routine fails with large graphs.
#6583
Dijkstra Visitor Concept docs probably show wrong type for
variable.
#6647
BGL strong_components do not compile on MSVC 8.
#6656
Dependent type in subgraph used without typename.
#6707
is_straight_line_drawing.hpp missing #include <map>.
#6708
Make bool boost::intersects() in is_straight_line_drawing.hpp
inline?
#6739
Cannot use write_graphviz_dp with a constified subgraph.
#6858
boost::get() calls wrongly resolved by g++.
#6892
VertexIndexGraph concept not required for bron_kerbosch_all_cliques().
Other bugs and warnings not in Trac.
Hash:
Support std::array and std::tuple
when available (#6806).
Avoid gcc's -Wfloat-equal
warning (#6771).
Add deprecation warning to the long deprecated boost/functional/detail/container_fwd.hpp.
Iostreams:
Improved gzip support (#5908).
Update tests for latest Boost.Filesystem and Boost.Test.
Fix some documentation errors (#6530,
#6650).
Iterator:
Fixed:
#5127
Incorrect result_of usage in transform_iterator
#5697
iterator_facade::operator-> is broken for proxy references
MultiArray:
Concepts bug fix and Workaround for Visual Studio 2010 (#4874)
Fix to assert.cpp test case (Patch)
Lexical cast:
boost::bad_lexical_cast exception is now
globaly visible and can be catched even if code is compiled with
-fvisibility=hidden
Now it is possible to compile and use library with disabled exceptions
#5800
Better performance, less memory usage and bugfixes for boost::iterator_range<character_type*>
conversions
Fixed bugs and warnings: #6645,
#6562,
#6812,
#6852,
#6717,
#6770,
#6504.
Locale:
Fixed build issues with STLPort library
Boost.System is now required depenency
Fixed bugs #6635,
#6833
Math:
Promoted math constants to be 1st class citizens, including convenient
access to the most widely used built-in float, double, long double
via three namespaces.
Added the Owen's T function and Skew Normal distribution written
by Benjamin Sobotta.
Added Hankel functions.
Corrected issue #6627
nonfinite_num_put formatting of 0.0 is incorrect based on
a patch submitted by K R Walker.
Changed constant initialization mechanism so that it is thread safe
even for user-defined types, also so that user defined types get
the full precision of the constant, even when long
double does not. So for example
128-bit rational approximations will work with UDT's and do the right
thing, even though long double may be only 64 or 80 bits.
Fixed issue in bessel_jy
which causes Y[sub 8.5](4[pi]) to yield a NaN.
MSM:
eUML : better syntax for front-ends defined with eUML as transition
table only. Caution: Breaking Change!http://www.boost.org/doc/libs/1_50_0/libs/msm/doc/HTML/ch03s04.html#eUML-composite-table
Bugfix: graph building was only working if initial_state defined
as a sequence.
Bugfix: flags defined for a Terminate or Interrupt state do not break
the blocking function of these states any more.
Bugfix: multiple deferred events from several regions were not working
in every case.
Bugfix: visitor was passed by value to submachines.
Bugfix: no_transition was not called for submachines who send an
event to themselves.
Fixed warnings with gcc.
Program Options:
Improved error reporting (Patch
from Leo Goodstadt).
Support for customizing name of option's value in help messages (#4781)
Fixed compilation with gcc 4.7 (#6790).
PropertyMap:
Fixed Bugs:
#6539
the return type of get() is not documented correctly.
#6721
property_map_traits documentation does not mention reference.
Proto:
Use decltype-based
result_of if and
only if the compiler implements N3276.
For C++11, force parameter to mpl::eval_if_c
and mpl::if_c to be bool.
Disable '__forceinline not inlined' warning on
msvc.
Ratio:
Fixed Bugs:
#6498
boost::ratio won't compile with default settings.
ScopeExit:
New Features:
Use variadic macros to specify captures as commas-separated
lists (but kept preprocessor sequence syntax for backward compatibility).
Capture the object in scope using this_.
Support empty captures using void.
Implicit lambda-like captures using BOOST_SCOPE_EXIT_ALL
on compilers that support C++11 lambda functions.
Thread:
New Features:
#1850
Request for unlock_guard to compliment lock_guard.
#2637
Request for shared_mutex duration timed_lock and timed_lock_shared.
#2741
Proposal to manage portable and non portable thread attributes.
#3567
Request for shared_lock_guard.
#6194
Adapt to Boost.Move.
#6195
c++11 compliance: Provide the standard time related interface
using Boost.Chrono.
#6217
Enhance Boost.Thread shared mutex interface following Howard
Hinnant proposal.
#6224
c++11 compliance: Add the use of standard noexcept on compilers
supporting them.
#6226
c++11 compliance: Add explicit bool conversion from locks.
#6228
Add promise constructor with allocator following the standard
c++11.
#6230
c++11 compliance: Follows the exception reporting mechanism
as defined in the c++11.
#6266
Breaking change: thread destructor should call terminate if
joinable.
#6269
Breaking change: thread move assignment should call terminate
if joinable.
#6272
c++11 compliance: Add thread::id hash specialization.
#6273
c++11 compliance: Add cv_status enum class and use it on the
conditions wait functions.
#6231
Add BasicLockable requirements in the documentation to follow
c++11.
#6342
c++11 compliance: Adapt the one_flag to the c++11 interface.
#6671
upgrade_lock: missing mutex and release functions.
#6672
upgrade_lock:: missing constructors from time related types.
#6675
upgrade_lock:: missing non-member swap.
Added missing packaged_task::result_type and packaged_task::
constructor with allocator.
Added packaged_task::reset()
Fixed Bugs:
#2575
Bug- Boost 1.36.0 on Itanium platform.
#4345
thread::id and joining problem with cascade of threads.
#4921
BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB are crucial and
need to be documented.
#5013
documentation: boost::thread: pthreas_exit causes terminate().
#5173
boost::this_thread::get_id is very slow.
#5351
interrupt a future get boost::unknown_exception.
#5516
Upgrade lock is not acquired when previous upgrade lock releases
if another read lock is present.
#5990
shared_future<T>::get() has wrong return type.
#6174
packaged_task doesn't correctly handle moving results.
#6222
Compile error with SunStudio: unique_future move.
#6673
shared_lock: move assign doesn't works with c++11.
#6674
shared_mutex: try_lock_upgrade_until doesn't works.
Fix issue signaled on the ML with task_object(task_object const&)
in presence of task_object(task_object&&)
Unordered:
Fix equality for unordered_multiset
and unordered_multimap.
Implement reserve
(#6857).
Avoid gcc's -Wfloat-equal
and -Wshadow
warnings (#6190,
#6771).
Fix namespace issue with bcp (#6905).
Fix Sun workarounds (#6784).
Some internal changes to bucket allocation.
See the change
log for full details.
Wave:
Wave V2.3.2, see the Changelog
for details.
xpressive:
Remove very ugly lexical_cast
hack with a slightly less ugly one.
Replace MPL assert with static assert since it's problematic in C++11,
fixes #6846.
Compilers Tested
Boost's primary test compilers are:
Linux:
Intel: 11.1
LLVM Clang 2.8
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
OS X:
Intel: 11.1
GCC: 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 9.0, 10.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.1, 4.7.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit
QNX:
QCC, C++0x mode: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0
Boost's additional test compilers include:
Linux:
Clang from subversion
GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.3, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.4, 4.5.3, 4.6.2
pgCC: 11.9
Intel: 10.1, 11.1, 12.0, 12.1
Visual Age 10.1
OS X:
Clang from subversion
Intel 11.1, 12.0
GCC: 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 10.0
Visual C++ with STLport: 9.0
Visual C++, Windows Mobile 5, with STLport: 9.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.2, 4.5.4, 4.6.4, 4.7.0
GCC, C++0x mode, mingw: 4.5.2
AIX:
IBM XL C/C++ Enterprise Edition, V12.1.0.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit
Solaris:
Sun 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 13 years
ago
Patches
Boost.Unordered patch
- Fixes a bug when compiled using a C++11 compiler, but with a C++03 allocator.
When inserting elements, allocator_traits
detects that the node can
... [More]
be constructed using an accidental implicit conversion
which causes several problems.
Locale
Patch - Fixes a bug which causes boost::locale::utf::utf_traits
to accept some invalid UTF-8 sequences, which is a possible security flaw.
New Libraries
Algorithm:
A collection of
useful generic algorithms, from Marshall Clow. This includes several different
searching algorithms, as well as most of the new algorithms from the C++11
standard library
Functional/OverloadedFunction:
Overload
different functions into a single function object, from Lorenzo Caminiti.
LocalFunction:
Program
functions locally, within other functions, directly within the scope where
they are needed, from Lorenzo Caminiti.
Utility/IdentityType:
Wrap
types within round parenthesis so they can always be passed as macro parameters,
from Lorenzo Caminiti.
Updated Libraries
Accumulators:
add missing #include
<boost/throw_exception.hpp>, fixes #6702.
work around for msvc which allows ctor templates to be copy ctors,
fixes #6535.
shorten filenames to meet boost guidelines, fixes #6196.
Array:
add support for Boost.Hash #6791.
Asio:
Changed the epoll_reactor
backend to do lazy registration for EPOLLOUT
events.
Fixed the epoll_reactor
handling of out-of-band data, which was broken by an incomplete fix
in the last release.
Changed Asio's SSL wrapper to respect OpenSSL's OPENSSL_NO_ENGINE
feature test #define
(#6432).
Fixed windows::object_handle so that it works
with Windows compilers that support C++11 move semantics (such as
g++).
Improved the performance of strand rescheduling.
Added support for g++ 4.7 when compiling in C++11
mode (#6620).
Fixed a problem where signal_set
handlers were not being delivered when the io_service
was constructed with a concurrency_hint
of 1 (#6657).
Bimap:
Remove spurious dependency on Boost.Serialization, fixes #3868.
Solve unused constructor parameter warning, fixes #5749.
Add key_type and mapped_type (leaving data_type for backward compatibility)
typedefs to map views, fixes #6031.
Chrono:
Fixed Bugs:
#6361
integer overflow in boost::chrono::process_real_cpu_clock::now()
under Windows 32bits.
#6628
compiler warning in process_cpu_clocks.hpp.
#6666
thread_clock.hpp needs pthread.h.
Concept Check:
Fixed:
#6738
Shadowed variable warning.
Filesystem:
Remove Filesystem Version 2 from the distribution. Version 3 is now
the only distributed version. Those still using V2 are urged to migrate
to V3 as soon as possible.
Add constexpr value_type preferred_separator to class path.
Fix #5118,
replace_extension
doesn't work as specified in documentation. The documentation, implementation,
and test cases have all had fixes applied. The documentation had
failed to mention that any existing extension is removed. The behavior
for simple cases has been reverted to the Version 2 behavior, but
with corrections so that complex replacements now work. Two test
cases from #5118
have been added.
Fix #3737,
Boost.Filesystem does not compile on Windows Mobile. On Windows,
<sys/stat.h> is no longer included.
Fix #4065,
Boost Filesystem lexicographic path comparison inconsistent. This
required multiple source code bug fixes and code cleanup, correcting
problems not related to lexicographical issues.
Add class path member function compare for consistency with std::string.
Tighten BOOST_FILESYSTEM_DYN_LINK
and BOOST_FILESYSTEM_STATIC_LINK
logic in filesystem/config.hpp
so that one or the other is always defined, and both being defined
is a #error.
Fix #6690
and #6737,
resolving static linking related problems with VC++ 8 through 11.
Note that this fix may reintroduce codecvt thread safety problems
#4889,
#6320,
for these compilers if static linking is used.
Add path::operator+=
and concat functions to tack on things like suffixes or numbers.
Suggested by Ed Smith-Rowland and others.
Fix #6809,
Implementation of filesystem::rename() method for MS Windows is wrong,
by adding MOVEFILE_COPY_ALLOWED
to deal with renames across drives, volumes, file systems. Fix has
no effect on non-Windows systems.
Fix #6819,
A path operand with a source that was a one character array was treated
as empty, even if it wasn't empty. Such arrays can occur in unions
or in code using C variable length array idioms.
Fix #6932,
create_directories throws exception even if error_code
is specified.
Foreach:
Revert fix for #6131
which caused more harm than good.
Geometry:
Fixed Bugs:
the return type of comparable projected point strategy for
integer points was wrong (integer), fixed
several robustness issues in intersection of segments and polygons,
fixed
invalid intersection output is filtered out
disjoint for multi_polygon's might incorrectly return true,
fixed
Solved tickets
6585
patch for alternative syntax multipoint, applied
6584
patch for bug in distance, applied
5730
same issue as 6584, fixed
6166
patch for missing transformation, applied
6696
invalid intersection output, was (by chance) already fixed
in Trunk before reported
Additional functionality
added algorithm "touches" (OGC SF compliant) for
*polygon/*polygon
Graph:
Fixed Bugs:
#4622
clear_vertex on a vertex with a self-loop can cause a segmentation
fault.
#6033
Lowpoint map calculated by biconnected_components(...) is sometimes
wrong.
#6242
isomorphism doesn't reset mapping.
#6435
cube_topology documentation should say 3D, not 2D.
#6520
small_world_1_70_6_0p02.png is broken in documentation of graph_parallel.
#6564
BGL copy constructor for subgraph does not track local vertices/edges.
#6573
BGL: boost::isomorphism routine fails with large graphs.
#6583
Dijkstra Visitor Concept docs probably show wrong type for
variable.
#6647
BGL strong_components do not compile on MSVC 8.
#6656
Dependent type in subgraph used without typename.
#6707
is_straight_line_drawing.hpp missing #include .
#6708
Make bool boost::intersects() in is_straight_line_drawing.hpp
inline?
#6739
Cannot use write_graphviz_dp with a constified subgraph.
#6858
boost::get() calls wrongly resolved by g++.
#6892
VertexIndexGraph concept not required for bron_kerbosch_all_cliques().
Other bugs and warnings not in Trac.
Hash:
Support std::array and std::tuple
when available (#6806).
Avoid gcc's -Wfloat-equal
warning (#6771).
Add deprecation warning to the long deprecated boost/functional/detail/container_fwd.hpp.
Iostreams:
Improved gzip support (#5908).
Update tests for latest Boost.Filesystem and Boost.Test.
Fix some documentation errors (#6530,
#6650).
Iterator:
Fixed:
#5127
Incorrect result_of usage in transform_iterator
#5697
iterator_facade::operator-> is broken for proxy references
MultiArray:
Concepts bug fix and Workaround for Visual Studio 2010 (#4874)
Fix to assert.cpp test case (Patch)
Lexical cast:
boost::bad_lexical_cast exception is now
globaly visible and can be catched even if code is compiled with
-fvisibility=hidden
Now it is possible to compile and use library with disabled exceptions
#5800
Better performance, less memory usage and bugfixes for boost::iterator_range<character_type*>
conversions
Fixed bugs and warnings: #6645,
#6562,
#6812,
#6852,
#6717,
#6770,
#6504.
Locale:
Fixed build issues with STLPort library
Boost.System is now required depenency
Fixed bugs #6635,
#6833
Math:
Promoted math constants to be 1st class citizens, including convenient
access to the most widely used built-in float, double, long double
via three namespaces.
Added the Owen's T function and Skew Normal distribution written
by Benjamin Sobotta.
Added Hankel functions.
Corrected issue #6627
nonfinite_num_put formatting of 0.0 is incorrect based on
a patch submitted by K R Walker.
Changed constant initialization mechanism so that it is thread safe
even for user-defined types, also so that user defined types get
the full precision of the constant, even when long
double does not. So for example
128-bit rational approximations will work with UDT's and do the right
thing, even though long double may be only 64 or 80 bits.
Fixed issue in bessel_jy
which causes Y[sub 8.5](4[pi]) to yield a NaN.
MSM:
eUML : better syntax for front-ends defined with eUML as transition
table only. Caution: Breaking Change!https://www.boost.org/doc/libs/1_50_0/libs/msm/doc/HTML/ch03s04.html#eUML-composite-table
Bugfix: graph building was only working if initial_state defined
as a sequence.
Bugfix: flags defined for a Terminate or Interrupt state do not break
the blocking function of these states any more.
Bugfix: multiple deferred events from several regions were not working
in every case.
Bugfix: visitor was passed by value to submachines.
Bugfix: no_transition was not called for submachines who send an
event to themselves.
Fixed warnings with gcc.
Program Options:
Improved error reporting (Patch
from Leo Goodstadt).
Support for customizing name of option's value in help messages (#4781)
Fixed compilation with gcc 4.7 (#6790).
PropertyMap:
Fixed Bugs:
#6539
the return type of get() is not documented correctly.
#6721
property_map_traits documentation does not mention reference.
Proto:
Use decltype-based
result_of if and
only if the compiler implements N3276.
For C++11, force parameter to mpl::eval_if_c
and mpl::if_c to be bool.
Disable '__forceinline not inlined' warning on
msvc.
Ratio:
Fixed Bugs:
#6498
boost::ratio won't compile with default settings.
ScopeExit:
New Features:
Use variadic macros to specify captures as commas-separated
lists (but kept preprocessor sequence syntax for backward compatibility).
Capture the object in scope using this_.
Support empty captures using void.
Implicit lambda-like captures using BOOST_SCOPE_EXIT_ALL
on compilers that support C++11 lambda functions.
Thread:
New Features:
#1850
Request for unlock_guard to compliment lock_guard.
#2637
Request for shared_mutex duration timed_lock and timed_lock_shared.
#2741
Proposal to manage portable and non portable thread attributes.
#3567
Request for shared_lock_guard.
#6194
Adapt to Boost.Move.
#6195
c++11 compliance: Provide the standard time related interface
using Boost.Chrono.
#6217
Enhance Boost.Thread shared mutex interface following Howard
Hinnant proposal.
#6224
c++11 compliance: Add the use of standard noexcept on compilers
supporting them.
#6226
c++11 compliance: Add explicit bool conversion from locks.
#6228
Add promise constructor with allocator following the standard
c++11.
#6230
c++11 compliance: Follows the exception reporting mechanism
as defined in the c++11.
#6266
Breaking change: thread destructor should call terminate if
joinable.
#6269
Breaking change: thread move assignment should call terminate
if joinable.
#6272
c++11 compliance: Add thread::id hash specialization.
#6273
c++11 compliance: Add cv_status enum class and use it on the
conditions wait functions.
#6231
Add BasicLockable requirements in the documentation to follow
c++11.
#6342
c++11 compliance: Adapt the one_flag to the c++11 interface.
#6671
upgrade_lock: missing mutex and release functions.
#6672
upgrade_lock:: missing constructors from time related types.
#6675
upgrade_lock:: missing non-member swap.
Added missing packaged_task::result_type and packaged_task::
constructor with allocator.
Added packaged_task::reset()
Fixed Bugs:
#2575
Bug- Boost 1.36.0 on Itanium platform.
#4345
thread::id and joining problem with cascade of threads.
#4921
BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB are crucial and
need to be documented.
#5013
documentation: boost::thread: pthreas_exit causes terminate().
#5173
boost::this_thread::get_id is very slow.
#5351
interrupt a future get boost::unknown_exception.
#5516
Upgrade lock is not acquired when previous upgrade lock releases
if another read lock is present.
#5990
shared_future::get() has wrong return type.
#6174
packaged_task doesn't correctly handle moving results.
#6222
Compile error with SunStudio: unique_future move.
#6673
shared_lock: move assign doesn't works with c++11.
#6674
shared_mutex: try_lock_upgrade_until doesn't works.
Fix issue signaled on the ML with task_object(task_object const&)
in presence of task_object(task_object&&)
Unordered:
Fix equality for unordered_multiset
and unordered_multimap.
Implement reserve
(#6857).
Avoid gcc's -Wfloat-equal
and -Wshadow
warnings (#6190,
#6771).
Fix namespace issue with bcp (#6905).
Fix Sun workarounds (#6784).
Some internal changes to bucket allocation.
See the change
log for full details.
Wave:
Wave V2.3.2, see the Changelog
for details.
xpressive:
Remove very ugly lexical_cast
hack with a slightly less ugly one.
Replace MPL assert with static assert since it's problematic in C++11,
fixes #6846.
Compilers Tested
Boost's primary test compilers are:
Linux:
Intel: 11.1
LLVM Clang 2.8
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
OS X:
Intel: 11.1
GCC: 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 9.0, 10.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.1, 4.7.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit
QNX:
QCC, C++0x mode: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0
Boost's additional test compilers include:
Linux:
Clang from subversion
GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.3, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.4, 4.5.3, 4.6.2
pgCC: 11.9
Intel: 10.1, 11.1, 12.0, 12.1
Visual Age 10.1
OS X:
Clang from subversion
Intel 11.1, 12.0
GCC: 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 10.0
Visual C++ with STLport: 9.0
Visual C++, Windows Mobile 5, with STLport: 9.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.2, 4.5.4, 4.6.4, 4.7.0
GCC, C++0x mode, mingw: 4.5.2
AIX:
IBM XL C/C++ Enterprise Edition, V12.1.0.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit
Solaris:
Sun 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
almost 13 years
ago
Patches
Boost.Unordered patch
- Fixes a bug when compiled using a C++11 compiler, but with a C++03 allocator.
When inserting elements, allocator_traits
detects that the node can
... [More]
be constructed using an accidental implicit conversion
which causes several problems.
New Libraries
Algorithm:
A collection of
useful generic algorithms, from Marshall Clow. This includes several
different searching algorithms, as well as most of the new algorithms
from the C++11 standard library
Functional/OverloadedFunction:
Overload
different functions into a single function object, from Lorenzo Caminiti.
LocalFunction:
Program
functions locally, within other functions, directly within the scope
where they are needed, from Lorenzo Caminiti.
Utility/IdentityType:
Wrap
types within round parenthesis so they can always be passed as macro
parameters, from Lorenzo Caminiti.
Updated Libraries
Accumulators:
add missing #include
<boost/throw_exception.hpp>, fixes #6702.
work around for msvc which allows ctor templates to be copy ctors,
fixes #6535.
shorten filenames to meet boost guidelines, fixes #6196.
Array:
add support for Boost.Hash #6791.
Asio:
Changed the epoll_reactor
backend to do lazy registration for EPOLLOUT
events.
Fixed the epoll_reactor
handling of out-of-band data, which was broken by an incomplete
fix in the last release.
Changed Asio's SSL wrapper to respect OpenSSL's OPENSSL_NO_ENGINE
feature test #define
(#6432).
Fixed windows::object_handle so that it works
with Windows compilers that support C++11 move semantics (such
as g++).
Improved the performance of strand rescheduling.
Added support for g++ 4.7 when compiling in
C++11 mode (#6620).
Fixed a problem where signal_set
handlers were not being delivered when the io_service
was constructed with a concurrency_hint
of 1 (#6657).
Bimap:
Remove spurious dependency on Boost.Serialization, fixes #3868.
Solve unused constructor parameter warning, fixes #5749.
Add key_type and mapped_type (leaving data_type for backward compatibility)
typedefs to map views, fixes #6031.
Chrono:
Fixed Bugs:
#6361
integer overflow in boost::chrono::process_real_cpu_clock::now()
under Windows 32bits.
#6628
compiler warning in process_cpu_clocks.hpp.
#6666
thread_clock.hpp needs pthread.h.
Concept Check:
Fixed:
#6738
Shadowed variable warning.
Filesystem:
Remove Filesystem Version 2 from the distribution. Version 3 is
now the only distributed version. Those still using V2 are urged
to migrate to V3 as soon as possible.
Add constexpr value_type preferred_separator to class path.
Fix #5118,
replace_extension
doesn't work as specified in documentation. The documentation,
implementation, and test cases have all had fixes applied. The
documentation had failed to mention that any existing extension
is removed. The behavior for simple cases has been reverted to
the Version 2 behavior, but with corrections so that complex replacements
now work. Two test cases from #5118
have been added.
Fix #3737,
Boost.Filesystem does not compile on Windows Mobile. On Windows,
<sys/stat.h> is no longer included.
Fix #4065,
Boost Filesystem lexicographic path comparison inconsistent. This
required multiple source code bug fixes and code cleanup, correcting
problems not related to lexicographical issues.
Add class path member function compare for consistency with std::string.
Tighten BOOST_FILESYSTEM_DYN_LINK
and BOOST_FILESYSTEM_STATIC_LINK
logic in filesystem/config.hpp
so that one or the other is always defined, and both being defined
is a #error.
Fix #6690
and #6737,
resolving static linking related problems with VC++ 8 through 11.
Note that this fix may reintroduce codecvt thread safety problems
#4889,
#6320,
for these compilers if static linking is used.
Add path::operator+=
and concat functions to tack on things like suffixes or numbers.
Suggested by Ed Smith-Rowland and others.
Fix #6809,
Implementation of filesystem::rename() method for MS Windows is wrong,
by adding MOVEFILE_COPY_ALLOWED
to deal with renames across drives, volumes, file systems. Fix
has no effect on non-Windows systems.
Fix #6819,
A path operand with a source that was a one character array was
treated as empty, even if it wasn't empty. Such arrays can occur
in unions or in code using C variable length array idioms.
Fix #6932,
create_directories throws exception even if error_code
is specified.
Foreach:
Revert fix for #6131
which caused more harm than good.
Geometry:
Fixed Bugs:
the return type of comparable projected point strategy for
integer points was wrong (integer), fixed
several robustness issues in intersection of segments and
polygons, fixed
invalid intersection output is filtered out
disjoint for multi_polygon's might incorrectly return true,
fixed
Solved tickets
6585
patch for alternative syntax multipoint, applied
6584
patch for bug in distance, applied
5730
same issue as 6584, fixed
6166
patch for missing transformation, applied
6696
invalid intersection output, was (by chance) already fixed
in Trunk before reported
Additional functionality
added algorithm "touches" (OGC SF compliant) for
*polygon/*polygon
Graph:
Fixed Bugs:
#4622
clear_vertex on a vertex with a self-loop can cause a segmentation
fault.
#6033
Lowpoint map calculated by biconnected_components(...) is
sometimes wrong.
#6242
isomorphism doesn't reset mapping.
#6435
cube_topology documentation should say 3D, not 2D.
#6520
small_world_1_70_6_0p02.png is broken in documentation of
graph_parallel.
#6564
BGL copy constructor for subgraph does not track local vertices/edges.
#6573
BGL: boost::isomorphism routine fails with large graphs.
#6583
Dijkstra Visitor Concept docs probably show wrong type for
variable.
#6647
BGL strong_components do not compile on MSVC 8.
#6656
Dependent type in subgraph used without typename.
#6707
is_straight_line_drawing.hpp missing #include .
#6708
Make bool boost::intersects() in is_straight_line_drawing.hpp
inline?
#6739
Cannot use write_graphviz_dp with a constified subgraph.
#6858
boost::get() calls wrongly resolved by g++.
#6892
VertexIndexGraph concept not required for bron_kerbosch_all_cliques().
Other bugs and warnings not in Trac.
Hash:
Support std::array and std::tuple
when available (#6806).
Avoid gcc's -Wfloat-equal
warning (#6771).
Add deprecation warning to the long deprecated boost/functional/detail/container_fwd.hpp.
Iostreams:
Improved gzip support (#5908).
Update tests for latest Boost.Filesystem and Boost.Test.
Fix some documentation errors (#6530,
#6650).
Iterator:
Fixed:
#5127
Incorrect result_of usage in transform_iterator
#5697
iterator_facade::operator-> is broken for proxy references
MultiArray:
Concepts bug fix and Workaround for Visual Studio 2010 (#4874)
Fix to assert.cpp test case (Patch)
Lexical cast:
boost::bad_lexical_cast exception is
now globaly visible and can be catched even if code is compiled
with -fvisibility=hidden
Now it is possible to compile and use library with disabled exceptions
#5800
Better performance, less memory usage and bugfixes for boost::iterator_range<character_type*>
conversions
Fixed bugs and warnings: #6645,
#6562,
#6812,
#6852,
#6717,
#6770,
#6504.
Locale:
Fixed build issues with STLPort library
Boost.System is now required depenency
Fixed bugs #6635,
#6833
Math:
Promoted math constants to be 1st class citizens, including convenient
access to the most widely used built-in float, double, long double
via three namespaces.
Added the Owen's T function and Skew Normal distribution written
by Benjamin Sobotta.
Added Hankel functions.
Corrected issue #6627
nonfinite_num_put formatting of 0.0 is incorrect based
on a patch submitted by K R Walker.
Changed constant initialization mechanism so that it is thread
safe even for user-defined types, also so that user defined types
get the full precision of the constant, even when long double
does not. So for example 128-bit rational approximations will work
with UDT's and do the right thing, even though long
double may be only 64 or
80 bits.
Fixed issue in bessel_jy
which causes Y[sub 8.5](4[pi]) to yield a NaN.
MSM:
eUML : better syntax for front-ends defined with eUML as transition
table only. Caution: Breaking Change!http://www.boost.org/doc/libs/1_50_0/libs/msm/doc/HTML/ch03s04.html#eUML-composite-table
Bugfix: graph building was only working if initial_state defined
as a sequence.
Bugfix: flags defined for a Terminate or Interrupt state do not
break the blocking function of these states any more.
Bugfix: multiple deferred events from several regions were not
working in every case.
Bugfix: visitor was passed by value to submachines.
Bugfix: no_transition was not called for submachines who send an
event to themselves.
Fixed warnings with gcc.
Program Options:
Improved error reporting (Patch
from Leo Goodstadt).
Support for customizing name of option's value in help messages
(#4781)
Fixed compilation with gcc 4.7 (#6790).
PropertyMap:
Fixed Bugs:
#6539
the return type of get() is not documented correctly.
#6721
property_map_traits documentation does not mention reference.
Proto:
Use decltype-based
result_of if and
only if the compiler implements N3276.
For C++11, force parameter to mpl::eval_if_c
and mpl::if_c to be bool.
Disable '__forceinline not inlined' warning
on msvc.
Ratio:
Fixed Bugs:
#6498
boost::ratio won't compile with default settings.
ScopeExit:
New Features:
Use variadic macros to specify captures as commas-separated
lists (but kept preprocessor sequence syntax for backward
compatibility).
Capture the object in scope using this_.
Support empty captures using void.
Implicit lambda-like captures using BOOST_SCOPE_EXIT_ALL
on compilers that support C++11 lambda functions.
Thread:
New Features:
#1850
Request for unlock_guard to compliment lock_guard.
#2637
Request for shared_mutex duration timed_lock and timed_lock_shared.
#2741
Proposal to manage portable and non portable thread attributes.
#3567
Request for shared_lock_guard.
#6194
Adapt to Boost.Move.
#6195
c++11 compliance: Provide the standard time related interface
using Boost.Chrono.
#6217
Enhance Boost.Thread shared mutex interface following Howard
Hinnant proposal.
#6224
c++11 compliance: Add the use of standard noexcept on compilers
supporting them.
#6226
c++11 compliance: Add explicit bool conversion from locks.
#6228
Add promise constructor with allocator following the standard
c++11.
#6230
c++11 compliance: Follows the exception reporting mechanism
as defined in the c++11.
#6266
Breaking change: thread destructor should call terminate
if joinable.
#6269
Breaking change: thread move assignment should call terminate
if joinable.
#6272
c++11 compliance: Add thread::id hash specialization.
#6273
c++11 compliance: Add cv_status enum class and use it on
the conditions wait functions.
#6231
Add BasicLockable requirements in the documentation to follow
c++11.
#6342
c++11 compliance: Adapt the one_flag to the c++11 interface.
#6671
upgrade_lock: missing mutex and release functions.
#6672
upgrade_lock:: missing constructors from time related types.
#6675
upgrade_lock:: missing non-member swap.
Added missing packaged_task::result_type and packaged_task::
constructor with allocator.
Added packaged_task::reset()
Fixed Bugs:
#2575
Bug- Boost 1.36.0 on Itanium platform.
#4345
thread::id and joining problem with cascade of threads.
#4921
BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB are crucial
and need to be documented.
#5013
documentation: boost::thread: pthreas_exit causes terminate().
#5173
boost::this_thread::get_id is very slow.
#5351
interrupt a future get boost::unknown_exception.
#5516
Upgrade lock is not acquired when previous upgrade lock releases
if another read lock is present.
#5990
shared_future::get() has wrong return type.
#6174
packaged_task doesn't correctly handle moving results.
#6222
Compile error with SunStudio: unique_future move.
#6673
shared_lock: move assign doesn't works with c++11.
#6674
shared_mutex: try_lock_upgrade_until doesn't works.
Fix issue signaled on the ML with task_object(task_object
const&) in presence of task_object(task_object&&)
Unordered:
Fix equality for unordered_multiset
and unordered_multimap.
Implement reserve
(#6857).
Avoid gcc's -Wfloat-equal
and -Wshadow
warnings (#6190,
#6771).
Fix namespace issue with bcp (#6905).
Fix Sun workarounds (#6784).
Some internal changes to bucket allocation.
See the change
log for full details.
Wave:
Wave V2.3.2, see the Changelog
for details.
xpressive:
Remove very ugly lexical_cast
hack with a slightly less ugly one.
Replace MPL assert with static assert since it's problematic in
C++11, fixes #6846.
Compilers Tested
Boost's primary test compilers are:
Linux:
Intel: 11.1
LLVM Clang 2.8
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
OS X:
Intel: 11.1
GCC: 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 9.0, 10.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.1, 4.7.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit
QNX:
QCC, C++0x mode: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0
Boost's additional test compilers include:
Linux:
Clang from subversion
GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.3, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.4, 4.5.3, 4.6.2
pgCC: 11.9
Intel: 10.1, 11.1, 12.0, 12.1
Visual Age 10.1
OS X:
Clang from subversion
Intel 11.1, 12.0
GCC: 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 10.0
Visual C++ with STLport: 9.0
Visual C++, Windows Mobile 5, with STLport: 9.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.2, 4.5.4, 4.6.4, 4.7.0
GCC, C++0x mode, mingw: 4.5.2
AIX:
IBM XL C/C++ Enterprise Edition, V12.1.0.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit
Solaris:
Sun 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
[Less]
|
Posted
about 13 years
ago
New Libraries
Heap:
Priority queue data
structures, from Tim Blechmann.
Updated Libraries
Asio:
... [More]
Added a new class template basic_waitable_timer
based around the C++11 clock type requirements. It may be used with
the clocks from the C++11 <chrono>
library facility or, if those are not available, Boost.Chrono. The
typedefs high_resolution_timer,
steady_timer and
system_timer may
be used to create timer objects for the standard clock types.
Added a new windows::object_handle
class for performing waits on Windows kernel objects. Thanks go to
Boris Schaeling for contributing substantially to the development
of this feature.
On Linux, connect() can return EAGAIN in certain circumstances.
Remapped this to another error so that it doesn't look like a non-blocking
operation (#6048).
Fixed a compile error on NetBSD (#6098).
Fixed deadlock on Mac OS X (#6275).
Fixed a regression in buffered_write_stream
(#6310).
Fixed a non-paged pool "leak" on Windows when an io_service is repeatedly run without
anything to do (#6321).
Reverted earlier change to allow some speculative operations to be
performed without holding the lock, as it introduced a race condition
in some multithreaded scenarios.
Fixed a bug where the second buffer in an array of two buffers may
be ignored if the first buffer is empty.
Chrono:
Bug Fixes:
#6092
Input from non integral durations makes the compiler fail.
#6093
[1/3]second fails as valid duration input.
#6113
duplicate symbol when BOOST_CHRONO_HEADER_ONLY is defined.
#6243
Sandia-pgi-11.9: more than one instance of overloaded function
"min" matches.
#6257
process_cpu_clock::now() on linux gives time_points 1/1000
times.
Container:
Fixed bugs #6499,
#6336,
#6335,
#6287,
#6205,
#4383.
Added allocator_traits
support for both C++11 and C++03 compilers through an internal allocator_traits clone.
Filesystem:
Fix #3714,
Added test cases and fixes for class path errors when assignment
or append used self or portion of self as source.
Fix #4889,
#6320,
Locale codecvt_facet not thread safe on Windows. Move Windows, Mac
OS X, locale and codecvt facet back to namespace scope. POSIX except
OS X uses local static initialization (IE lazy) to ensure exceptions
are catchable if environmental variables are misconfigured and to
avoid use of locale("") if not actually used.
Fix #5652,
recursive_directory_iterator fails on cyclic symbolic links. Thanks
to Daniel Aarno for the patch.
Fix #5653,
recursive_directory_iterator(error_code) can still throw filesystem_error.
Fix #5900,
directory_iterator access violation on Windows if error is thrown.
Thanks to Andreas Eckleder for the patch.
Fix #5900
comment 2, a bug in director_iterator construction with error_code
argument that caused increment to be called without the ec argument
being passed.
Fix #5989
by cleaning up test suite path_test.cpp code even though the ticket
itself was not a defect, and clarifying docs; iteration over a path
yields generic format.
Fix #5592,
Change Windows codecvt processing from CP_THREAD_ACP to CP_ACP.
Operations function fixes for PGI compiler, thanks to Noel Belcourt.
Relax permissions test to reflect reality, particularly on the Sandia
test platforms.
Geometry:
Fixed bugs
Distance for multi-geometries ignored specified distance strategy.
In difference for polygon/multi_polygon (reported 2011/10/24
on GGL-list).
Raise exception for calculation of distances of multi-geometrie(s)
where one of them is empty
Multi DSV did not correctly use settings.
Self-intersections could sometimes be missed (introduced in
1.48).
Convex hull crashed on empty range (e.g. empty multi point).
Solved tickets
#6028
Documentation: closure.
#6178
Missing headerfile.
#6021
convex hull of multipoint.
Additional functionality
Support for line/polygon intersections and differences
Support for convert of segment/box of different point types
Support for append for multi point
Scalar functions (distance, area, length, perimeter) now throw
an empty_input_exception on empty input
Documentation
Updated support status
Internal changes
Updates in specializations/not_implemented for distance/convert/assign/area
Move of wkt/dsv to io folder, making domains redundant
Strategy concepts assigned to zero to avoid clang warnings
(patched by Vishnu)
Graph:
Fixed bugs #5881,
#6033,
#6061,
#6137,
#6246,
#6239,
#6293,
#6306,
#6313
and #6371,
plus others not in Trac.
Re-enabled LEDA graph support (thanks to Jens Muller for the patch).
Added documentation for edge_predecessor_recorder.
Icl:
Fixed tickets #6095
and #6210.
Added move semantics for constructors, assignment operators and binary
operators.
Interprocess:
Fixed bugs #6531,
#6412,
#6398,
#6340,
#6319,
#6287,
#6265,
#6233,
#6147,
#6134,
#6058,
#6054,
#5772,
#5738,
#5622,
#5552,
#5518,
#4655,
#4452,
#4383,
#4297.
Fixed timed functions in mutex implementations to fulfill POSIX requirements:
Under no circumstance shall the function fail with a timeout
if the mutex can be locked immediately. The validity of the abs_timeout
parameter need not be checked if the mutex can be locked immediately.
Intrusive:
Fixed bugs #6347,
#6223,
#6153.
Lexical cast:
Fixed bugs and warnings: #6127,
#6132,
#6159,
#6182,
#6186,
#6193,
#6264,
#6290,
#6298,
#6400.
Better performance and less memory usage for boost::container::basic_string
conversions.
Locale:
Fixed incorrect use of MultiByteToWideChar
in detection of invalid input sequences.
Move:
Fixed bugs #6417,
#6183,
#6185,
#6395,
#6396,
PropertyTree:
Fixes for bugs #4840,
#5259,
#5281,
#5944,
#5757,
#5710,
and #5307.
Spirit:
Spirit V2.5.2, see the 'What's
New' section for details.
Thread:
Fixed Bugs:
#2309
Lack of g++ symbol visibility support in Boost.Thread.
#2639
documentation should be extended(defer_lock, try_to_lock, ...).
#3639
Boost.Thread doesn't build with Sun-5.9 on Linux.
#3762
Thread can't be compiled with winscw (Codewarrior by Nokia).
#3885
document about mix usage of boost.thread and native thread
api.
#3975
Incorrect precondition for promise::set_wait_callback().
#4048
thread::id formatting involves locale
#4315
gcc 4.4 Warning: inline ... declared as dllimport: attribute
ignored.
#4480
OpenVMS patches for compiler issues workarounds.
#4819
boost.thread's documentation misprints.
#5040
future.hpp in boost::thread does not compile with /clr.
#5423
thread issues with C++0x.
#5502
race condition between shared_mutex timed_lock and lock_shared.
#5594
boost::shared_mutex not fully compatible with Windows CE.
#5617
boost::thread::id copy ctor.
#5739
set-but-not-used warnings with gcc-4.6.
#5826
threads.cpp: resource leak on threads creation failure.
#5839
thread.cpp: ThreadProxy leaks on exceptions.
#5859
win32 shared_mutex constructor leaks on exceptions.
#6100
Compute hardware_concurrency() using get_nprocs() on GLIBC
systems.
#6141
Compilation error when boost.thread and boost.move are used
together.
#6168
recursive_mutex is using wrong config symbol (possible typo).
#6175
Compile error with SunStudio.
#6200
patch to have condition_variable and mutex error better handle
EINTR.
#6207
shared_lock swap compiler error on clang 3.0 c++11.
#6208
try_lock_wrapper swap compiler error on clang 3.0 c++11.
Unordered:
On compilers without rvalue references, the containers are no longer
movable by default, as move emulation was causing some odd quirks
(#6167,
#6311).
Define BOOST_UNORDERED_USE_MOVE
to make them movable - Boost.Move is still used for elements regardless.
Fix sequence point warning (#6370).
Better support for C++11 compilers using older standard libraries.
Uuid:
fixed #6258
fixed #5325
(sha1 implementation handles messages as long as the specification)
progress on #6118
(there are fewer warnings)
Compilers Tested
Boost's primary test compilers are:
Linux:
Intel: 11.1
LLVM Clang 2.8
GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5.2, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.2
OS X:
Intel: 11.1
GCC: 4.2.1, 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 9.0, 10.0
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.1, 4.7.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit.
QNX:
QCC, C++0x mode: 4.4.2, 4.6.1, 4.6.2
Boost's additional test compilers include:
Linux:
GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.2, 4.6.2
GCC, C++0x mode: 4.3.4, 4.4.4, 4.5.2
pgCC: 11.9
Intel: 10.1, 11.1, 12.0
PathScale: 4.0.8
Visual Age 10.1
OS X:
Clang from subversion
Intel 11.1, 12.0
GCC: 4.4.4
GCC, C++0x mode: 4.4.4
Windows:
Visual C++ 8.0, 9.0, 10.0
Visual C++ with STLport: 9.0
Visual C++, Windows Mobile 5, with STLport: 9.0
GCC, mingw: 4.4.0, 4.5.2
GCC, C++0x mode, mingw: 4.5.2
GCC, mingw 64-bit: 4.4.7, 4.5.4, 4.6.1
AIX:
IBM XL C/C++ Enterprise Edition, V11.1.0.0
FreeBSD:
GCC 4.2.1, 32 and 64 bit
Solaris:
Sun 5.10
Acknowledgements
Beman Dawes, Eric Niebler,
Rene Rivera, Daniel James
and Vladimir Prus managed this release.
[Less]
|