Locale: Provide localization and Unicode handling tools for C++, from Artyom Beilis.
Move: Portable move semantics for C++03 and C++11 compilers, from Ion Gaztañaga.Updated Libraries Asio:
Implemented various performance improvements, including:
Using thread-local operation queues in single-threaded use cases (i.e. when concurrency_hint is 1) to eliminate a lock/unlock pair.
Allowing some epoll_reactor speculative operations to be performed without holding the lock.
Improving locality of reference by performing an epoll_reactor's I/O operation immediately before the corresponding handler is called. Also improves scalability across CPUs.
Specialising asynchronous read and write operations for buffer sequences that are arrays (boost::array or std::array) of exactly two buffers.
Fixed compile error in regex overload of async_read_until (#5688).
Fixed Windows-specific compile error by explicitly specifying the signal() function from the global namespace (#5722).
Changed deadline_timer implementation to not read clock unless the timer heap is non-empty.
Changed SSL buffer sizes to be large enough to hold a complete TLS record (#5854).
Fixed synchronous null_buffers operations so that they obey the user's non-blocking setting (#5756).
Changed to set fd_set size at runtime when using Windows.
Disabled MSVC warning due to const qualifier being applied to function type.
Fixed crash that occurs when using Intel C++ compiler (#5763).
Changed OpenSSL initialisation to support all available algorithms.
Fixed SSL error mapping when session is gracefully shut down.
Added some latency test programs.
Clarified that a read operation ends when the buffer is full (#5999).
Fixed exception safety issue in epoll_reactor initialisation (#6006).
Made number of strand implementations configurable via BOOST_ASIO_STRAND_IMPLEMENTATIONS macro.
Added support for BOOST_ASIO_ENABLE_SEQUENTIAL_STRAND_ALLOCATION flag which switches strand allocation to use a round-robin approach rather than hashing.
Fixed potential strand starvation issue that can occur when strand.post() is used.
Chrono:
#5979 Added chrono rounding utilities as defined by Howard Hinnant here.
#5978 Add BOOST_CHRONO_HAS_PROCESS_CLOCKS to know if process clocks are available.
#5998 Make possible to disable hybrid error handling.
#5906 Take in account the constexpr as defined in the standard.
#5907 Take in account noexcept for compilers supporting it.
Fixed some bugs.
See the History for more details.
Config:
Add BOOST_NO_DECLTYPE_N3276 config macro. (See N3276.)
Fusion:
Make single_view a random access fusion sequence.
Remove bogus compile-time asserts from fusion::distance.
Cleaner implementation of segmented Fusion.
Geometry:
Bugfixes:
Robustness issue, in some circumstances the union failed to output. Fixed.
Robustness issue, in some circumstances the calculated intersection point was outside the segment. Fixed.
Concept issue, cartesian intersect didn't understand segments other than the provided one. Fixed.
Sometimes self-intersections in linestrings were missed. Fixed.
The fusion coordinate system was not registered correctly. Fixed.
Solved tickets:
#5726 (Segment intersection algorithm still assumes 'first', 'second' members)
#5744 (mistake fusion adapt example)
#5748 (need include <boost/foreach.hpp>)
#5954 (distance_pythagoras skips sqrt() step)
Improvements on algorithms:
Checking self-intersections is now not done automatically, this can blast performance.
Besides that, checking self-intersections is made faster.
Intersections now avoid outputting duplicate points. So they output the minimal set.
Additional algorithms:
covered_by: within is defined as "within, not on boundary". covered_by is "within or on boundary"
Additional functionality:
within: strategies can now be specified for within<point, box> and within<box, box>
convert: a much broader range of conversions is supported
assign: idem, (currently partly) synonym for convert (but reversed arguments)
Additional coordinate types:
Basic support for Boost.Rational
(more...)Read more: Boost
QR:
0 comments:
Post a Comment