summaryrefslogtreecommitdiff
path: root/devel/boost-docs
AgeCommit message (Collapse)AuthorFilesLines
2018-08-16boost: updated to 1.68.0adam1-4/+4
1.68.0: New Libraries YAP: An expression template library for C++14 and later, from Zach Laine. Updated Libraries Beast: This version fixes a missing executor work guard in all composed operations used in the implementation. Users who are experiencing crashes related to asynchronous completion handlers are encouraged to upgrade. For a complete list of changes, please view the official Release Notes. Context: 78: Linker error with context-impl=ucontext: multiple definition of boost::context::detail::current_rec Coroutine2: 14: crash while stack unwinding 18: some guidance on why to use coroutine2 20: failes to compile test in due to the error C2039 22: undefined behaviour documentation Fiber: 170: buffered_channel::try_push has incorrect documentation 172: WIN64: 'invalid conversion from 'HANDLE' to 'std::thread::native_handle_type' errors for builds using mingw-w64 175: throw exception "Operation not permitted" NUMA support moved to extra library (fiber-numa); enabled via property numa (numa=on) Fusion: Added a workaround for ambiguous call of fusion::deque constructor on GCC 4.4/c++0x Fixed a bug with C-style array Fixed a fusion::for_each signature to take functor by value This may break existing code with non-copyable (non-movable) functor, but the implementation wasn't correct for a long time; the documantation was correct from the first. So, please make sure your usage. Fixed unintentional MPL placeholder substituion bug on fusion::transform. Moved description, how to conform Fusion sequence as MPL sequence, to mpl section. Added notes regarding IO facility for adapted type. Geometry: Improvements 469 Horizontal grid shift (nadgrids) in SRS transformations (undocumented for now due to potential interface changes). 478 Box-Segment distance for spherical and geographic coordinate systems. 487 Missing combinations of geometries in distance for spherical and geographic cs 489 Additional direct geodesic problem formulas for internal use Solved issues 470 Assertion failure with short spherical and geographic segments. 471 Invalid envelope of spherical polygon 498 Unexpected results with expand() and make_inverse() for spherical and geographic CS Bugfixes 488 Handle non-true-references in closing_iterator and ever_circling_range_iterator 495 VxWorks 7 cross-compilation issue. GIL: The I/O extensions have been entirely rewritten. The library now requires a C++11-compliant compiler. Documentation has been reformatted and updated. Graph: Conditionally replace deprecated/removed C++98 std::bind1st by std::bind, std::auto_ptr by std::unique_ptr, and std::random_shuffle by std::shuffle. Fix compiler error with release builds on VS2015 Fix the Stanford GraphBase examples Fix friend declarations for iterator_core_access Add missing <boost/iterator.hpp> include Avoid an unused variable warning Fix some typos in documentation Fix some issues in tests and examples Lexical Cast: Fixes for clang-tidy warnings 12092 Log: Improved support for VxWorks. Save and restore ebx register on x86 PIE targets in the dump stream manipulator implementation. Math: Support for arbitrary precision complex valued quadrature and hence contour integration Improve performance of polynomial addition Math: Continue to improve numerical integration routines, and in particular add support for contour integrals. Improve accuracy of erfc function's rational approximations. Multi-index Containers: Containers of moveable but non-copyable elements can now be serialized (ticket 13478). Thanks to Sébastien Paris for the report. multi_index_container's default constructor is no longer explicit (ticket 13518). Multiprecision: Support for multiprecision complex numbers Multiprecision: Support added for complex multiprecision numbers. Changed conversion to unsigned integer types to be truncating to match standard defined behaviour. Correct bug in MPFR string formatting. Fix undefined behaviour in cpp_dec_float conversion from long long. Add support for Eigen interoperability. float128.hpp: Fix Intel on Windows build. Fix type used in temporaries when expanding expression templates containing mixed expressions. Fix infinite loop in gmp_float to fixed-point string conversion. Update the expression templates to issue static_asserts with better error messages when you try and do something unsupported. Fix bug in cpp_int where incrementing to zero doesn't set the sign correctly. Remove erroneous use of std::move, and rely on NVRO instead. Fix up support for changes to MPIR-3.0. Fix various conversion errors in cpp_bin_float when the exponent type is a long long, or else we're converting to an integer that is wider than we are. Fix compatibility issue with GCC-8 caused by the introduction of std::byte. Optional: Added member function has_value() for compatibility with std::optional (issue 52). Added member function map() for transforming optional<T> into optional<U> using a function of type T -> U. Added member function flat_map() for transforming optional<T> into optional<U> using a function of type T -> optonal<U>. Predef: Add support for __ARM_ARCH macro. Add detection for PTX architecture. Add nvcc compiler detection. Add support for detecting CUDA. Remove reference to obsolete BOOST_ARCH_AMD64. Program Options: Support for multiple long names for an option, thanks to Eyal Rozenberg Python: Bug fixes to correct autolink support (Windows) Rational: Fixed undefined behavior in normalize() System: Add constexpr to error_code and error_condition members under C++14 and above Signals: Removal Notice: Boost.Signals will be removed in the next release. Boost.Signals was deprecated in version 1.54.0. Transition to Boost.Signals2 now to avoid disruption. Stacktrace: Fixed compilation on Solaris and other platforms that do qualify address as const in dladdr function (github 54). Dropped dependency on Boost.LexicalCast. Test: Boost.test v3.8 see the Changes log for more details. Breaking changes The master_test_suite_t object is no more copyable New feature: Dataset test case can now use command line parameters TypeIndex: Dropped dependency on Boost.MPL. Uuid: Breaking change: sha1 detail namespace header redirection for backwards compatibility was removed Added support for std::hash Added support for move semantics on random generators Properly handle EINTR when acquiring entropy Use getrandom(2) instead of getentropy(3) on linux
2017-08-24Version 1.65.0adam1-5/+3
New Libraries: PolyCollection, Stacktrace. Updated Libraries: Asio, Context, Config, Core, Coroutine2, DLL, Fiber, Fusion, Geometry, Hash, Log, Phoenix, Predef, Program Options, Python, Smart Pointers, Test, TypeIndex, Unordered, Utility, Variant.
2017-01-01Changes 1.63.0:adam1-12/+1
Atomic: * Added the static constant atomic<T>::is_always_lock_free for conformance with C++17. The constant indicates that the given specialization always provides lock-free implementation of atomic operations. * Improved support of Oracle Studio on x86 targets. Container: * Fixed bugs Context: * 11687 Xcode (Apple clang) and thread_local * 12114 context does not preserve fpu context on ios arm64 devices (fixed for other architecturs too) * 12411 fpu registers not preserved with O2 optimizations in Visual Studio (fixed for other architecturs too) * 12551 building boost on arm64 causes error: unknown directive * reduced signatur for ontop-functions * unit-test for private fcontext-API * performance-test for ucontext and fcontext fixed Fiber: * unbounded_channel and bounded_channel marked as deprecated * new classes buffered_channel and unbuffered_channel * performance improved Fusion: * Fixed fusion::vector buggy constructors (Thanks to Lee Clagett). * BOOST_FUSION_ADAPT* and BOOST_FUSION_DEFINE* now allow empty structures. (6592) * BOOST_FUSION_DEFINE* allows move constructor and assignment. (10099) * Adaptor for std::array (Thanks to Mateusz Łoskot). (8241) * Fixed returning temporary variable warnings on MSVC. Geometry: * Intersection: take care that output is valid (work in progres, not yet finished - but more is valid) * 12289 Avoid warning/compilation error for std::cout * 12412 Invalid result of covered_by() with geographic Points and Boxes * 12413 rtree::remove() not working properly with geographic Points Hash: * Fixed some warnings. Interprocess: * Fixed bugs Intrusive: * Fixed bugs Lexical Cast: * Fixed issue found by -fsanitize=undefined 21 Log: * Removed the previously deprecated type_info_wrapper. * Added a way to access the current file name from the text file sink backend. The file name can be obtained with the get_current_file_name method. * Bug fixes Metaparse: * Improved the implementation of BOOST_METAPARSE_STRING Move: * Improved experimental adaptive sort algorithm performance * Activate BOOST_MOVE_FORCEINLINE Optional: * Added two new in-place constructors. They work similarly to emplace() functions: they initialize the contained value by perfect-forwarding the obtained arguments. One constructor always initializes the contained value, the other based on a boolean condition. * Syntax o = {} now correctly un-initializes an optional, just like in std::optional. * Fixed optional<optional<T>&> initialization. (12203) * Optional constructors are sfinae-friendly. This fixes interaction with std::tuple. (12563) Phoenix: * Most of modules now support C++11 variadic templates. * Fixed type deduction failure with result type. * Suppress unused warnings. * Fixed too few arguments error on binary math functions. * Added workarounds for older compiler. Python: * Added (basic) support for C++11 (std::shared_ptr, std::unique_ptr) * Incorporated an extension API to wrap NumPy * Removed obsolete bits and pieces Test: * Boost.test v3.4 see the Change log section for more details. * New feature: per_element and lexicographic modifiers of BOOST_TEST can also be applied to string comparison * Breaking change: colons that appear in test case names are replaced with underscores * Bug fixes TypeIndex: * Added runtime_cast to the library as an emulation of dynamic_cast. Thanks to Chris Glover for the implementation. See runtime_cast reference for more info. * Internals of the CTTI were made more platform independant, due to change of the std::size_t type to unsigned int. Units: * Fix inspection warnings * updated physico-chemical constants to CODATA 2014 values * define biot correctly as 10 Ampere Unordered: * Fix an exception safety issue in assignment. * Use std::allocator_traits where available, and support modern style rebind (12459). * Add some allocator aware constructors. * Use the hint iterator in emplace_hint. * Fixed some warnings.
2015-12-27Changes 1.60.0:adam1-10/+10
New Libraries VMD: Variadic Macro Data library, from Edward Diener. Updated Libraries Atomic: * Enforced proper alignment of atomic<> storage. This should fix possible issues on platforms that support atomic operations on data units larger than the native word size. This may also change binary layout of user's data structures that have atomic<> members. * Fixed compilation for PowerPC with IBM XL C++ compiler. Corrected memory barriers in PowerPC assembler. * Fixed compilation with MSVC-8 for ARM. * Fixed compilation with gcc 4.4 for x86-64, when 128-bit atomic operations were used. (10994) * Optimized some gcc assembler blocks for x86/x86-64 to reduce the number of used registers. This may require binutils 2.10 or later. Chrono - 2.0.5: Fixes: * 10778 VC14 CTP4 Atomic don't compile with boost::chrono durations which are not TriviallyCopyable * 10840 Missing std:: qualifier for puts call in test_7868.cpp * 10851 Missing std:: qualifier for puts call in time_point_output.cpp * 10893 Minor doc typo in Boost.Chrono * 10992 Chrono IO state savers inconsistent with Boost.IO state savers * 10995 duration_put::put_value truncates fractional part * 11006 Impossible to instantiate time_fmt_io_saver due to several errors. * 11012 chrono_io v2 fail to compile with boost::chrono::duration< boost::rational<int> > Container: * Implemented Polymorphic Memory Resources. * Add more BOOST_ASSERT checks to test preconditions in some operations (like pop_back, pop_front, back, front, etc.) * Added C++11 back/front operations to basic_string. Fixed bugs: * Trac 11627: "small_vector<T,n>::swap() appears to be broken". * Trac 11628: "small_vector<int,n> iterates over elements in destructor". * Trac 11697: "Wrong initialization order in tuple copy-constructor". * Trac 11698: "Missing return statement in static_storage_allocator". * GitHub 29: Doc fixes for flap_map complexity requirements. * GitHub 31: DL_SIZE_IMPL also dereference addr. Context: * 11603 typo in PPC32/MACH-O asm * support for CYGWIN Core: * In symbol demangling tools, added support for gabi++ ABI implementation used in Android NDK. * Added a new enable_if_has_type tool for performing SFINAE checks for presence of a nested type. more...
2015-08-14Changes 1.59.0:adam1-1/+12
New Libraries Convert: An extendible and configurable type-conversion framework, from Vladimir Batov. Coroutine2: (C++14) Coroutine library, from Oliver Kowalke. Updated Libraries...
2014-08-13Changes 1.56.0:adam1-5/+4
Modularization Boost version control has migrated to a system using git submodules. This shouldn't make too much of a difference to users, although the directory structure is now a bit different. Parts of some libraries have been moved into different modules, and several new modules have been extracted from existing code. All header paths should remain the same. The new modules are: Assert: Customizable assert macros. Maintained by Peter Dimov. Core: Core utilities used by other libraries, with minimal dependencies. Maintained by Peter Dimov, Glen Fernandes and Andrey Semashev. Lexical_Cast: General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney. Throw_Exception: A common infrastructure for throwing exceptions from Boost libraries, from Emil Dotchevski. Winapi: Windows API declarations without <windows.h>, for internal Boost use. New Libraries Align: Memory alignment functions, allocators, and adaptors, from Glen Fernandes. Type_Index: Runtime/Compile time copyable type info, from Antony Polukhin.
2014-07-08Install top-level index.html, index.htm redirects to it. Bump revision.joerg1-2/+3
2012-10-31Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.asau1-3/+1
2010-11-26Changes 1.45.0:adam2-11203/+6
* Fixed a problem on kqueue-based platforms where a deadline_timer may never fire if the io_service is running in a background thread * Fixed a const-correctness issue that prevented valid uses of has_service<> from compiling * Fixed MinGW cross-compilation * Removed dependency on deprecated Boost.System functions * Ensured close()/closesocket() failures are correctly propagated * Added a check for errors returned by InitializeCriticalSectionAndSpinCount * Added support for hardware flow control on QNX * Always use pselect() on HP-UX, if it is available. * Ensured handler arguments are passed as lvalues * Fixed Windows build when thread support is disabled * Fixed a Windows-specific problem where deadline_timer objects with expiry times set more than 5 minutes in the future may never expire * Fixed the resolver backend on BSD platforms so that an empty service name resolves to port number 0, as per the documentation * Fixed read operations so that they do not accept buffer sequences of type const_buffers_1 * Redefined Protocol and id to avoid clashing with Objective-C++ keywords * Fixed a vector reallocation performance issue that can occur when there are many active deadline_timer objects * Fixed the kqueue backend so that it compiles on NetBSD * Fixed the socket io_control() implementation on 64-bit Mac OS X and BSD platforms * Fixed a Windows-specific problem where failures from accept() are incorrectly treated as successes * Deprecated the separate compilation header <boost/asio/impl/src.cpp> in favour of <boost/asio/impl/src.hpp>
2010-08-26Changes 1.44.0:adam1-78/+1342
New Libraries * Meta State Machine: High-performance expressive UML2 finite state machines, from Christophe Henry * Polygon: Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson. Updated Libraries * Accumulators * Asio * Config * Filesystem * Foreach * Hash * Iostreams * Math * MPL * Multi-index Containers * Proto * Regex * Thread * TR1 * Type Traits * uBLAS * Utility * Uuid * Xpressive
2010-05-15Changes 1.43.0:adam1-44/+410
New Libraries: * Functional/factory: Function objects for dynamic and by-value construction. * Functional/forward: Function object adapters to address the forwarding problem. Major Updates: * Range: Boost.Range has undergone extensive updates that it include all of the features from the recently reviewed Boost.RangeEx. * Range-based version of the full STL iterator based algorithms. * Range adaptors which can be combined with range-based algorithms for unpresedented expressiveness and efficiency. * New functions: irange, istream_range, join, combine. Updated Libraries Build System: * When cross-compiling to GNU targets, static libraries are properly created. Previously, using such libraries resulted in Archive has no index error. * The naming of DLL and import libraries with gcc compiler on Windows, both mingw and cygwin, now matches default conventions of those environments. Previously, the naming scheme was the same as for other Windows compilers. Updated Tools: * Quickbook: Unicode escape characters. * Support the UTF-8 byte order mark. * Disallow [ in simple markup. Fixes some errors with mismatched punctuation. * Add a command line flag (-D) to define macros at the command line. * Improved post-processor output. * Check that [section] and [endsect] tags are balanced in templates.
2010-02-12Changes 1.42.0:adam1-18/+74
* New Libraries: Uuid. * Updated Libraries: Asio, Circular Buffer, Fusion, Graph, Integer, Iostreams, Program.Options, PropertyMap, Proto, Regex, Spirit, Unordered, Xpressive.
2009-11-24Changes 1.14.0:adam2-280/+491
* New Libraries Property Tree: A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl. * Updated Libraries * Build System A bug preventing "fat" 32-bit + 64-bit builds on OSX has been fixed.
2009-10-14Changes 1.40.0:adam2-98/+523
* Build System improvements. * Updated Libraries: Accumulators, Asio, Circular Buffer, Foreach, Function, Fusion, Hash, Interprocess, Intrusive, MPL, Program.Options, Proto, Random, Serialization, Unordered, Xpressive. Changes 1.39.0: * New Libraries: Signals2. * Updated Libraries: Asio, Flyweight, Foreach, Hash, Interprocess, Intrusive, Program.Options, Proto, PtrContainer, Range, Unordered, Xpressive. * Updated Tools: Boostbook, Quickbook.
2009-06-14Convert @exec/@unexec to @pkgdir or drop it.joerg1-3/+3
2009-06-14Remove @dirrm entries from PLISTsjoerg1-727/+1
2009-05-12Fix install on platforms not using pax tar. Bump PKGREVISION.hasso1-1/+4
2009-03-03Update boost to 1.38.0. Patches from Brook Milligan in private mail.jmmv1-133/+424
Lots of changes to list here. As usual, some new libraries have been added and there have been improvements all around. Of special interest is that we can now erase most of our local patches because they have been imported upstream.
2008-09-13Update boost to 1.36.0. Way too many changes since 1.34 to be listedjmmv1-650/+5269
here. Based on patches sent by Brook Milligan through private mail with some minimal changes by me to fix boost-python and builds on Mac OS X. Tested on NetBSD/amd64 current and Tiger.
2008-05-26Second round of explicit pax dependencies. As reminded by tnn@,joerg1-2/+4
many packages used to use ${PAX}. Use the common way of directly calling pax, it is created as tool after all.
2008-02-05Added support for installation to DESTDIR.heinz1-5/+7
2008-02-05Let pax remove the original files (*.orig).heinz1-2/+2
2008-01-04Update boost to 1.34.1. This is based on the patches provided by Brook Milliganjmmv2-127/+344
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.
2006-01-20Update boost* to 1.33.1:jmmv1-53/+6
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.
2005-09-28Replaced "# defined" with "yes" in Makefile variables like GNU_CONFIGURE,rillig1-2/+2
NO_BUILD, USE_LIBTOOL.
2005-08-12Update Boost to 1.33.0:jmmv1-110/+878
New Libraries * Iostreams Library: Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis. * Functional/Hash Library: A TR1 hash function object that can be extended to hash user defined types, from Daniel James. * Parameter Library: Write functions that accept arguments by name: especially useful when a function has more than one argument with a useful default value, since named arguments can be passed in any order. * Pointer Container Library: Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. * Wave: Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser. Updated Libraries * Assignment Library: Support for Pointer Container Library and new efficient functions ref_list_of() and cref_list_of() for generating anonymous ranges. * Bind Library: Bind expressions now support comparisons and negation. Example: bind(&X::name, _1) < bind(&X::name, _2). * Date-Time Library: o Added local time and time zone classes. o Added format-based Input/Output facets. o For a complete list of changes, see the library change history. * Graph Library: Introduced several new algorithms and improved existing algorithms: o Experimental Python bindings, from Doug Gregor and Indiana University. o floyd_warshall_all_pairs_shortest_paths, from Lauren Foutz and Scott Hill. o astar_search, from Kristopher Beevers and Jufeng Peng. o fruchterman_reingold_force_directed_layout, from Doug Gregor and Indiana University. o biconnected_components and articulation_points, from Jeremy Siek, Janusz Piwowarski, and Doug Gregor. o sequential_vertex_coloring has been updated, tested, and documented. o gursoy_atun_layout, from Jeremiah Willcock and Doug Gregor of Indiana University. o king_ordering, from D. Kevin McGrath of Indiana University. o cuthill_mckee ordering has been recast as an invocation of breadth_first_search and now supports graphs with multiple components. o dijkstra_shortest_paths now uses a relaxed heap as its priority queue, improving its complexity to O(V log V) and improving real-world performance for larger graphs. o read_graphviz now has a new, Spirit-based parser that works for all graph types and supports arbitrary properties on the graph, from Ron Garcia. The old, Bison-based GraphViz reader has been deprecated and will be removed in a future Boost release. write_graphviz also supports dynamic properties. o subgraph: get_property now refers to the subgraph property, not the root graph's property. o See the history for additional changes and bug fixes. * Multi-index Containers Library: o New hashed indices. o Added serialization support. o For a complete list of changes, see the library release notes. * Program Options Library: o Option descriptions are now printed with word wrapping. o Command line parser can bypass unregistered options, instead of throwing. o Removed support for "implicit" (optional) values. o New customization method 'command_line_parser::extra_style_parser'. Unlike 'additional_parser', allows the user to parse several tokens and return a vector of options, not just a single option. o Work with disabled exceptions. * Property Map Library: Introduced the dynamic properties class, which provides dynamically-typed access to a set of property maps. * Random Number Library: improved initialization for mersenne_twister, algorithm by Makoto Matsumoto and Takuji Nishimura, implemented for Boost by Jens Maurer. Note: All test vectors for mersenne_twisters constructed or seeded without parameters or with a single unsigned int parameter become invalid. * Range Library: Minor addition of convenience functions to iterator range like front(), back() and operator[](). * Regex Library: o Rewritten front end parser now supports (?imsx-imsx) constructs, plus lookbehind assertions and conditional expressions. o Thin wrapper classes improve integration with MFC/ATL code. o Full (optional) Unicode support via the ICU library. Refer to the regex history page for more information on these and other small changes. * Serialization Library: o DLL version. o Auto-linking. o Serialization of variants. o Improved seialization of shared pointers. * Signals Library: added slot blocking/unblocking, from Frantz Maerten. Huge improvements to signal invocation performance from Robert Zeh. This update has been tested on NetBSD 2.0.2, 3.0_BETA and current.
2005-02-26Complete rework of the Boost packages:jmmv3-0/+3790
- Drop devel/boost and devel/boost-thread. - Add devel/boost-docs which includes all the documentation related to Boost (previously included in devel/boost). - Add devel/boost-build which includes bjam, the Boost.Build framework. - Add devel/boost-headers which includes all the header files needed at build time by programs using Boost (previously included in devel/boost). - Add devel/boost-libs which includes all the binary libraries needed at build and run time by programs using Boost (previously included in devel/boost and devel/thread). All of them are multithreaded, to make things easier. - devel/boost-python includes the Boost Python library (as it did before), but now works, given that everything is threaded again. - Drop our thread_user.hpp customization. Avoids some build failures that appeared when the previous boost-thread package was not installed. - Use static PLISTs. - Install unversioned files. Makes things *a lot* easier when building stuff outside pkgsrc. - Add meta-pkgs/boost, a meta package that depends on all of the above. Thanks go to jlam@ and tv@ for their comments. While here, update to 1.32.0: New Toolset Names The names of some the Boost.Build toolsets have been changed to remove the "." (dot) character and to fix some other naming inconsistencies. For example, vc7.1 toolset was renamed to become vc-7_1. Please refer to the Supported Toolsets section of the installation guide for the complete list of the current toolset names. This change was made as a part of the effort to make the Boost distribution compatible with ISO 9660 level 2 requirements. New Libraries * Assignment Library: Filling containers with constant or generated data has never been easier, from Thorsten Ottosen. * Minmax Library: Standard library extensions for simultaneous min/max and min/max element computations, from Hervé Brönnimann. * Multi-index Containers Library: Containers with multiple STL-compatible access interfaces, from Joaquín M López Muñoz. * Numeric Conversion Library: Optimized policy-based numeric conversions, from Fernando Cacciola. * Program Options Library: Access to configuration data given on command line, in config files and other sources, from Vladimir Prus. * Range Library: A new infrastructure for generic algorithms that builds on top of the new iterator concepts, from Thorsten Ottosen. * Serialization Library: Serialization/de-serialization of arbitrary C++ data structures to various formats including text, binary, and xml, from Robert Ramey. * String Algorithms Library: Collection of string related algorithms for case conversion, trimming, find/replace operations and more, from Pavol Droba. * Tribool: 3-state boolean type library, from Doug Gregor. Updated Libraries * Compose: This deprecated library has been removed. * Graph: o Added bundled properties to the adjacency_list and adjacency_matrix class templates, greatly simplifying the introduction of internal vertex and edge properties. o The LEDA graph adaptors have been ported to LEDA 4.5. o Added algorithms for betweenness centrality and betweenness centrality clustering. o Added circle layout and undirected spring layout algorithms. * MPL Library: o Updated to use the Boost Software License. o New documentation, including a complete reference manual. o Major interface changes and improvements, many of which are not backward compatible. Please refer to the 1.32 changelog for the detailed information about upgrading to the new version. * Python Library: o Updated to use the Boost Software License. o A new, better method of wrapping classes with virtual functions has been implemented. o Support for the new Python Bool type, thanks to Daniel Holth. o Support for upcoming GCC symbol export control features have been folded in, thanks to Niall Douglas. o Improved support for std::auto_ptr-like types. o Components used by other libraries have been moved out of python/detail and into boost/detail to improve dependency relationships. o Miscellaneous bug fixes and compiler workarounds. * Signals Library: Introduced deterministic slot ordering, permitting slots to be connected at the beginning or end of slot groups or the slot list itself. Combiners may safely have state and are accessible from the signal. * Utility: class template result_of added. * Test Library: o namespace names gets shorten; old one still supported till next release o added proper encoding of XML PCDATA o support for wide string comparison implemented For complete list of changes see Test Library release notes. Regression tests This release has been extensively tested on a variety of different compilers and platforms. It is known to contain no regressions against the previous reference release on the compilers and configurations tested. Please refer to the corresponding regression reports to see how well your compiler performs on the new Boost codebase.