192 lines
7.2 KiB
Plaintext
192 lines
7.2 KiB
Plaintext
|
Boost C++ Libraries Boost C++ Libraries
|
||
|
|
||
|
`...one of the most highly regarded and expertly designed C++ library projects
|
||
|
in the world.' — Herb Sutter and Andrei Alexandrescu, C++ Coding Standards
|
||
|
|
||
|
Version 1.46.0
|
||
|
|
||
|
February 21st, 2011 20:36 GMT
|
||
|
|
||
|
New Libraries
|
||
|
|
||
|
• Icl: Interval Container Library, interval sets and maps and aggregation of
|
||
|
associated values, from Joachim Faulhaber.
|
||
|
|
||
|
Updated Libraries
|
||
|
|
||
|
• Array:
|
||
|
- Added support for cbegin/cend (#4761)
|
||
|
- Fixed a problem with the Sun compiler (#4757)
|
||
|
• Asio:
|
||
|
- Fixed an integer overflow problem that occurs when
|
||
|
ip::address_v4::broadcast() is used on 64-bit platforms.
|
||
|
- Fixed a problem on older Linux kernels (where epoll is used without
|
||
|
timerfd support) that prevents timely delivery of deadline_timer
|
||
|
handlers, after the program has been running for some time (#5045).
|
||
|
• Bind:
|
||
|
- make_adaptable now documented (#4532)
|
||
|
• Concept Check:
|
||
|
- fixed warnings with self-assignment (#4918)
|
||
|
• Filesystem:
|
||
|
- Version 3 of the library is now the default.
|
||
|
- IBM vacpp: Workaround for compiler bug affecting iterator_facade. (#
|
||
|
4912)
|
||
|
- Verify, clarify, document that <boost/config/user.hpp> can be used to
|
||
|
specify BOOST_FILESYSTEM_VERSION. (#4891)
|
||
|
- Replaced C-style assert with BOOST_ASSERT.
|
||
|
- Undeprecated unique_path(). Instead, add a note mentioning the
|
||
|
workaround for lack of thread safety and possible change to cwd.
|
||
|
unique_path() is just too convenient to deprecate!
|
||
|
- Cleared several GCC warnings.
|
||
|
- Changed V2 code to use BOOST_THROW_EXCEPTION.
|
||
|
- Windows: Fix status() to report non-symlink reparse point correctly.
|
||
|
- Add symlink_option to recursive_directory_iterator, allowing control
|
||
|
over recursion into directory symlinks. Note that the default is
|
||
|
changed to not recurse into directory symlinks.
|
||
|
- Reference documentation cleanup, including fixing missing and broken
|
||
|
links, and adding missing functions.
|
||
|
- Miscellaneous implementation code cleanup.
|
||
|
• Fusion:
|
||
|
- vector copy constructor now copies sequence members in the same order
|
||
|
on different platforms (#2823)
|
||
|
• Graph:
|
||
|
- Fixed Graphviz output to work on Visual C++ 7.1.
|
||
|
- Replaced assert with BOOST_ASSERT.
|
||
|
- Changed to Boost.Filesystem v3.
|
||
|
- Fixed the following bugs from Trac: #1021, #4556, #4631, #4642, #4715,
|
||
|
#4731, #4737, #4753, #4758, #4793, #4843, #4851, #4852, #4887, #4914, #
|
||
|
4966.
|
||
|
- Fixed various bugs not in Trac.
|
||
|
• Hash:
|
||
|
- Support for std::type_index (#4756).
|
||
|
- Avoid -Wconversion warnings.
|
||
|
• Iostreams:
|
||
|
- Use BOOST_ASSERT instead of assert.
|
||
|
- Fixed flush regression (#4590).
|
||
|
• Iterator:
|
||
|
- fixed problem with implicit_cast (#3645)
|
||
|
• Math:
|
||
|
- Added Wald, Inverse Gaussian and geometric distributions.
|
||
|
- Added information about configuration macros.
|
||
|
- Added support for mpreal as a real-numered type.
|
||
|
• Meta State Machine:
|
||
|
- Compile-time state machine analysis.
|
||
|
- Boost.Parameter interface definition for msm::back::state_machine<>
|
||
|
template arguments.
|
||
|
- Possibility to provide a container for the event and deferred event
|
||
|
queues. A policy implementation based on a more efficient
|
||
|
Boost.CircularBuffer is provided.
|
||
|
- msm::back::state_machine<>::is_flag_active method made const.
|
||
|
- Added possibility to enqueue events for delayed processing.
|
||
|
- Bugfixes
|
||
|
☆ #4926.
|
||
|
☆ stack overflow using the Defer functor
|
||
|
☆ anonymous transition of a submachine not called for the initial
|
||
|
state
|
||
|
• Optional:
|
||
|
- Updated test results with information about expected failures (#2294)
|
||
|
• Pool:
|
||
|
- Now can set a max_size for pool (#2696)
|
||
|
- boost/pool/pool.hpp uses reinterpret_cast instead of static_cast (#2941
|
||
|
)
|
||
|
- boost::pool_allocator now works with vector of vectors (#386)
|
||
|
- Boost pool is now compatible with Microsoft memory leak detection (#
|
||
|
4346)
|
||
|
• Program Options:
|
||
|
- Fixed errors in examples in docs (#3992, #4858)
|
||
|
- Now takes argv as const (#3909)
|
||
|
• Proto:
|
||
|
- Breaking change: boost/proto/core.hpp no longer defines
|
||
|
functional::pop_front and functional::reverse, which have moved to
|
||
|
their own headers under boost/proto/functional
|
||
|
- Add callable wrappers for more Fusion algorithms (including
|
||
|
fusion::at); and callable wrappers for some std utilities like
|
||
|
make_pair, first and second, all under the new boost/proto/functional
|
||
|
directory
|
||
|
- Allow transforms to be specified separately from a grammar
|
||
|
- proto::matches preserves domain-specific expression wrappers
|
||
|
- Fix ADL issue with operator, in proto::and_ transform
|
||
|
- Fix handling of grammar checking in expressions involving multiple
|
||
|
domains (#4675)
|
||
|
- Fix ambiguous operator<< in proto::display_expr (#4910)
|
||
|
- fusion::is_sequence answers true for Proto expressions (#5006)
|
||
|
- Eliminate -Wundef GCC warning in boost/proto/fusion.hpp (#5075)
|
||
|
• Signals:
|
||
|
- gcc warning cleanup (#4365)
|
||
|
• Spirit:
|
||
|
- Spirit V2.4.2, see the 'What's New' section for details.
|
||
|
• Tokenizer:
|
||
|
- isspace/ispunct was called with wrong character type (#4791)
|
||
|
• Unordered:
|
||
|
- Avoid using operator& with the value type.
|
||
|
- Avoid -Wconversion warnings.
|
||
|
• Wave:
|
||
|
- See the Changelog for details.
|
||
|
|
||
|
Updated Tools
|
||
|
|
||
|
• Boostbook:
|
||
|
- Better support for attributes on root elements - including lang.
|
||
|
• Inspect:
|
||
|
- Check that Boost headers do not use C's assert macro.
|
||
|
• Quickbook:
|
||
|
- Add support for lang attribute in documentation info.
|
||
|
- Improved anchors.
|
||
|
- Support import, include and xinclude in conditional phrases.
|
||
|
- Uses Filesystem 3.
|
||
|
|
||
|
Compilers Tested
|
||
|
|
||
|
Boost's primary test compilers are:
|
||
|
|
||
|
• Linux:
|
||
|
- GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.2,
|
||
|
- GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0, 4.5.2
|
||
|
- Intel: 10.1, 11.0, 11.1
|
||
|
- Clang: 2.8
|
||
|
- Pathscale: 3.2.
|
||
|
• OS X:
|
||
|
- GCC: 4.0.1, 4.2.1, 4.4
|
||
|
- GCC, C++0x mode: 4.4.
|
||
|
- Intel: 11.1
|
||
|
• Windows:
|
||
|
- Visual C++: 7.1, 8.0, 9.0 and 10.0.
|
||
|
- GCC, mingw: 4.4.0.
|
||
|
• FreeBSD:
|
||
|
- GCC: 4.2.1, 64 bit.
|
||
|
|
||
|
Boost's additional test compilers include:
|
||
|
|
||
|
• Linux:
|
||
|
- GCC: 3.4.6, 4.2.4, 4.3.4, 4.3.5, 4.4.3, 4.4.5, 4.5.0, 4.5.2
|
||
|
- GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0, 4.5.2
|
||
|
- pgCC 11.1
|
||
|
- Intel: 10.1, 11.0, 11.1
|
||
|
- PathScale: 3.2, 4.0
|
||
|
- Visual Age C++ 10.1
|
||
|
- Clang from subversion
|
||
|
• OS X:
|
||
|
- Intel C++ Compiler: 10.1, 11.0, 11.1
|
||
|
- GCC: 4.0.1, 4.2.1, 4.4.4
|
||
|
- GCC, C++0x mode: 4.4.4
|
||
|
- Clang from subversion
|
||
|
• Windows:
|
||
|
- Visual C++: 7.1, 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.1, 4.6.0
|
||
|
- GCC, mingw, C++0x mode: 4.5.1
|
||
|
- Borland: 6.1.3 (2009), 6.2.1 (2010)
|
||
|
• AIX:
|
||
|
- IBM XL C/C++ Enterprise Edition, V11.1.0.0
|
||
|
• FreeBSD:
|
||
|
- GCC 4.2.1, 64 bit
|
||
|
• Solaris:
|
||
|
- Sun C++: 5.10
|
||
|
|
||
|
Acknowledgements
|
||
|
|
||
|
Beman Dawes, Eric Niebler, Rene Rivera, Daniel James and Vladimir Prus managed
|
||
|
this release.
|
||
|
|