7 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
adam
|
967857908e |
Changes 1.47.0:
New Libraries * Chrono: Useful time utilities * Geometry: Geometry Library * Phoenix: Define small unnamed function objects at the actual call site, and more * Ratio: Compile time rational arithmetic More: http://www.boost.org/users/history/version_1_47_0.html |
||
adam
|
a352243f5b |
Changes 1.46.0:
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 - Fixed a problem with the Sun compiler * Asio: - 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 * Bind: - make_adaptable now documented * Concept Check: - fixed warnings with self-assignment * Filesystem: - Version 3 of the library is now the default. - IBM vacpp: Workaround for compiler bug affecting iterator_facade - Verify, clarify, document that <boost/config/user.hpp> can be used to specify BOOST_FILESYSTEM_VERSIO - 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 * Graph: - Fixed Graphviz output to work on Visual C++ 7.1. - Replaced assert with BOOST_ASSERT. - Changed to Boost.Filesystem v3. More... |
||
jmmv
|
106f6e10a5 |
Update boost to 1.34.1. This is based on the patches provided by Brook Milligan
in PR pkg/36558. Committing it right after the freeze so that we have enough time to resolve the problems that this will surely cause. New Libraries * Foreach Library: BOOST_FOREACH macro for easily iterating over the elements of a sequence, from Eric Niebler. * Statechart Library: Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code, from Andreas Huber. * TR1 Library: An implementation of the C++ Technical Report on Standard Library Extensions, from John Maddock. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace std::tr1. Highlights include: Reference Wrappers, Smart Pointers, result_of, Function Object Binders, Polymorphic function wrappers, Type Traits, Random Number Generators and Distributions, Tuples, Fixed Size Array, Hash Function Objects, Regular Expressions and Complex Number Additional Algorithms. * Typeof Library: Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt. * Xpressive Library: Regular expressions that can be written as strings or as expression templates, and that can refer to each other and themselves recursively with the power of context-free grammars, from Eric Niebler. Updated Libraries * Assign Library: o Support for ptr_map<key,T> via the new function ptr_map_insert() o Support for initialization of Pointer Containers when the containers hold pointers to an abstract base class. * Date_time library: o Support for new US/Canada timezone rules and other bug fixes. See Change History for details. * Filesystem Library: Major upgrade in preparation for submission to the C++ Standards Committee for TR2. Changes include: o Internationalization, provided by class templates basic_path, basic_filesystem_error, basic_directory_iterator and basic_directory_entry. o Simplification of the path interface by eliminating special constructors to identify native formats. o Rationalization of predicate function design, including the addition of several new functions. o Clearer specification by reference to POSIX, the ISO/IEEE Single Unix Standard, with provisions for Windows and other operating systems. o Preservation of existing user code whenever possible. o More efficient directory iteration. o Addition of a recursive directory iterator. * Function Library: Boost.Function now implements a small buffer optimization, which can drastically improve the performance when copying or constructing Boost.Function objects storing small function objects. For instance, bind(&X:foo, &x, _1, _2) requires no heap allocation when placed into a Boost.Function object. * Functional/Hash Library o Use declarations for standard classes, so that the library doesn't need to include all of their headers o Deprecated the <boost/functional/hash/*.hpp> headers. o Add support for the BOOST_HASH_NO_EXTENSIONS macro, which disables the extensions to TR1 o Minor improvements to the hash functions for floating point numbers. * Graph Library: o edmonds_maximum_cardinality_matching, from Aaron Windsor. o lengauer_tarjan_dominator_tree, from JongSoo Park. o compressed_sparse_row_graph, from Jeremiah Willcock and Douglas Gregor of Indiana University. o sorted_erdos_renyi_iterator, from Jeremiah Willcock of Indiana University. o biconnected_components now supports a visitor and named parameters, from Janusz Piwowarski. o adjacency_matrix now models the Bidirectional Graph concept. o dijkstra_shortest_paths now calls vis.initialize_vertex for each vertex during initialization. o Note: the name of the compiled library for the GraphViz reader has changed to boost_graph (from bgl-viz) to match Boost conventions. o See the complete revision history for more information. * MultiArray Library: Boost.MultiArray now by default provides range-checking for operator[]. Range checking can be disabled by defining the macro BOOST_DISABLE_ASSERTS before including multi_array.hpp. A bug in multi_array::resize() related to storage orders was fixed. * Multi-index Containers Library: o New random access indices. o Non key-based indices feature new rearrange facilities. o This version also includes a number of optimizations and usage improvements. For a complete list of changes, see the library release notes. * Optional Library: o boost::none_t and boost::none now added to Optional's documentation o Relational operators now directly support arguments of type 'T' and 'none_t' o operator->() now also works with reference types. o Helper functions make_optional(val), make_optional(cond,val) and get_optional_value_or(opt,alternative_value) added. o Constructor taking a boolean condition (as well as a value) added. o Member function get_value_or(alternative_value) added. o Incompatbility bug with mpl::apply<> fixed. o Converting assignment bug with uninitialized lvalues fixed. * Parameter Library: o Every ArgumentPack is now a valid MPL Forward Sequence. o Support for unnamed arguments (those whose keyword is deduced from their types) is added. o Support for named and unnamed template arguments is added. o New overload generation macros solve the forwarding problem directly. o See also the Python library changes, below. * Pointer Container Library: o Support for serialization via Boost.Serialization. o Exceptions can be disabled by defining the macro BOOST_PTR_CONTAINER_NO_EXCEPTIONS before including any header. This macro is defined by default if BOOST_NO_EXCEPTIONS is defined. o Additional std::auto_ptr<T> overloads added s.t. one can also pass std::auto_ptr<T> instead of only T* arguments to member functions. o transfer() now has weaker requirements s.t. one can transfer objects from ptr_container<Derived> to ptr_container<Base>, * Python Library: o Boost.Python now automatically appends C++ signatures to docstrings. The new docstring_options.hpp header is available to control the content of docstrings. o stl_input_iterator, for turning a Python iterable object into an STL input iterator, from Eric Niebler. o Support for void* conversions is added. o Integrated support for wrapping C++ functions built with the parameter library; keyword names are automatically known to docsstrings. o Enhancements to the API for better embedding support (boost::python::import(), boost::python::exec() and boost::python::exec_file()). * Signals Library: More improvements to signal invocation performance from Robert Zeh. * Smart Pointers Library: o Allocator support as proposed in N1851 (162 Kb PDF). o pointer_cast and pointer_to_other utilities to allow pointer-independent code, from Ion Gaztanaga. * String Algorithm Library: o lexicographical_compare o join o New comparison predicates is_less, is_not_greater. o Negative indexes support (like Perl) in various algorihtms (*_head/tail, *_nth). * Wave Library: o Wave now correctly recognizes pp-number tokens as mandated by the C++ Standard, which are converted to C++ tokens right before they are returned from the library. o Several new preprocessing hooks have been added. For a complete description please refer to the related documentation page: The Context Policy. o Shared library (dll) support has been added for the generated Wave libraries. o The overall error handling has been improved. It is now possible to recover and continue after an error or a warning was issued. o Support for optional comment and/or full whitespace preservation in the generated output stream has been added. o The Wave library now performs automatic include guard detection to avoid accessing header files more than once, if appropriate. o Full interactive mode has been added to the Wave tool. Now the Wave tool can be used just like Python or Perl for instance to interactively try out your BOOST_PP macros. Additionally it is now possible to load and save the current state of an interactive session (macro tables et.al.). o The overall performance has been improved by upto 40-60%, depending on the concrete files to process. o Support for new pragmas has been added allowing to control certain library features from inside the preprocessed sources (partial output redirection, control of generated whitespace and #line directives). o Optional support for #pragma message "..." has been added. o This version also includes a number of bug fixes and usage improvements. For a complete list of changes, see the libraries change log. |
||
jmmv
|
6939e1e3ed |
Fix installed name of Boost libraries under Mac OS X. They need to have
the directory they'll live in as part of their name, or otherwise they cannot be found at runtime. |
||
jmmv
|
5690a6271f |
Fix build and install of Boost under Mac OS X:
- Correctly use threads. - Use the correct tool set. - Make libraries (Boost.Test) with undefined symbols build correctly. - Change the installed library names so that they match other systems (thus avoiding manual PLIST substitutions). There is a hack here, though, to let the dylib stuff kick in... |
||
jmmv
|
38913fffe5 |
Update boost* to 1.33.1:
Any Library: Cast to reference types introduced in 1.33.0 is now documented on any_cast documentation page. Config Library: Don't undef BOOST_LIB_TOOLSET after use. Boost.Python: * The build now assumes Python 2.4 by default, rather than 2.2 * Support Python that's built without Unicode support * Support for wrapping classes with overloaded address-of (&) operators Smart Pointer Library: Fixed problems under Metrowerks CodeWarrior on PowerPC (Mac OS X) with inlining on, GNU GCC on PowerPC 64. Regex Library: Fixed the supplied makefiles, and other small compiler specific changes. Refer to the regex history page for more information on these and other small changes. Iostreams Library: Improved the interface for accessing a chain's components, added is_open members to the file and file descriptor devices, fixed memory-mapped files on Windows, and made minor changes to the documentation. Functional/Hash Library: Fixed the points example. Multi-index Containers Library: Fixed a problem with multithreaded code, and other minor changes. Refer to the library release notes for further details. Graph Library: * Fixed a problem with the relaxed heap on x86 Linux (fixes bug in dijkstra_shortest_paths). * Fixed problems with cuthill_mckee_ordering and king_ordering producing no results. * Added color_map parameter to dijkstra_shortest_paths. Signals Library: Fixed problems with the use of Signals across shared library boundaries. Thread library: read_write_mutex has been removed due to problems with deadlocks. Wave library (V1.2.1) Fixed a couple of problems, refer to the change log for further details. |
||
joerg
|
3fa608eeb8 |
Fix build of boost on DragonFly.
(a) bjam should be consistent with the rest of the world, the OS is called DragonFly, not DragonFlyBSD. It might be _annoying_, but it is a fact of live and no spelling fault can avoid it. (b) disable the compiler thread support checks, they don't really work and are not needed anyway. (c) DragonFly has wchar and ctype functions, so use them. Bump revisions of boost-build (bjam), boost-headers (well, they changed) and boost-libs. |