Boost 1.34.0 Beta released

The first beta of what will become version 1.34.0 is now available from http://www.boost.org. 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. * 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. Supported Compilers Boost is tested on a wide range of compilers and platforms. Since Boost libraries rely on modern C++ features not available in all compilers, not all Boost libraries will work with every compiler. The following compilers and platforms have been extensively tested with Boost, although many other compilers and platforms will work as well. For more information, see the regression test results. * Apple GCC 4.0.1 on Mac OS X. * Borland C++ 5.8.2 on Windows. * GNU C++ o 3.2.x., 3.3.x, 3.4.x, 4.0.x, 4.1.x on Linux o 4.1.x on Solaris o 3.4.x on Windows * HP aC++ A.06.14. * Intel C++ 9.1 on Windows, 9.0 on Linux. * Metrowerks CodeWarrior 9.4 on Windows. * Microsoft Visual C++ 6.0 (sp5, with and without STLport), 7.0, 7.1, 8.0. Note: Boost does not support the non-standard "Safe" C++ Library shipping with Visual C++ 8.0, which may result in many spurious warnings from Boost headers and other standards-conforming C++ code. To suppress these warnings, define the macro _SCL_SECURE_NO_DEPRECATE. * Sun Studio 11 on Solaris. Acknowledgements A great number of people contributed their time and expertise to make this release possible. Special thanks go to Vladimir Prus for making Boost.Build version 2 a reality, David Abrahams for authoring a new getting started guide and Greg D. for answering countless questions. -- Thomas Witt witt@acm.org

In article <78D2A2DC-007E-40AC-9805-BC58182CEB77@acm.org> Thomas Witt <witt@acm.org> wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
For those who downloaded the preliminary tarballs there is no need to download again. They were released unchanged. Thomas

I have tried, with no success, to install the new boost 1.34.0 beta libraries under MS VS 2003 SP1, issuing this command line: bjam --build-dir="my dir" --toolset=msvc-7_1 stage result is: Command line error D2016 : '/Ze' and 'Za' command-line options are incompatible ...failed updating 958 targets... ...skipped 376 targets... ...updated 186 targets... What should I do to properly compile the new beta? Leopoldo Peralta -----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Thomas Witt Sent: Thursday, April 26, 2007 6:23 PM To: boost@lists.boost.org Subject: Re: [boost] Boost 1.34.0 Beta released In article <78D2A2DC-007E-40AC-9805-BC58182CEB77@acm.org> Thomas Witt <witt@acm.org> wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
For those who downloaded the preliminary tarballs there is no need to download again. They were released unchanged. Thomas _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Vladimir Prus wrote:
Leopoldo Peralta wrote:
I have tried, with no success, to install the new boost 1.34.0 beta libraries under MS VS 2003 SP1, issuing this command line:
bjam --build-dir="my dir" --toolset=msvc-7_1 stage
msvc-7.1, not msvc-7_1
Can't bjam not issue an error message to the effect of "no such toolchain" ? I'v run into similar issues in the past, and really didn't find the actual error messages all that helpful. Thanks, Stefan -- ...ich hab' noch einen Koffer in Berlin...

Stefan Seefeld wrote:
Vladimir Prus wrote:
Leopoldo Peralta wrote:
I have tried, with no success, to install the new boost 1.34.0 beta libraries under MS VS 2003 SP1, issuing this command line:
bjam --build-dir="my dir" --toolset=msvc-7_1 stage
msvc-7.1, not msvc-7_1
Can't bjam not issue an error message to the effect of "no such toolchain" ? I'v run into similar issues in the past, and really didn't find the actual error messages all that helpful.
No, since --toolset option autoconfigures a toolset, as opposed as using a toolset specified in user-config.jam, so "no such toolchain" is not something we can say. - Volodya

on Fri Apr 27 2007, Vladimir Prus <ghost-AT-cs.msu.su> wrote:
Stefan Seefeld wrote:
Vladimir Prus wrote:
Leopoldo Peralta wrote:
I have tried, with no success, to install the new boost 1.34.0 beta libraries under MS VS 2003 SP1, issuing this command line:
bjam --build-dir="my dir" --toolset=msvc-7_1 stage
msvc-7.1, not msvc-7_1
Can't bjam not issue an error message to the effect of "no such toolchain" ? I'v run into similar issues in the past, and really didn't find the actual error messages all that helpful.
No, since --toolset option autoconfigures a toolset, as opposed as using a toolset specified in user-config.jam, so "no such toolchain" is not something we can say.
I don't see how autoconfiguration could affect whether this issue is detectable. The msvc toolset can easily check to see if the version string being configured fits whatever protocol it happens to require when no further configuration information is passed. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com Don't Miss BoostCon 2007! ==> http://www.boostcon.com

Thanks a lot for your indication and help. It works perfectly. Leopoldo Peralta -----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Vladimir Prus Sent: Friday, April 27, 2007 10:53 AM To: boost@lists.boost.org Subject: Re: [boost] Boost 1.34.0 Beta released Leopoldo Peralta wrote:
I have tried, with no success, to install the new boost 1.34.0 beta libraries under MS VS 2003 SP1, issuing this command line:
bjam --build-dir="my dir" --toolset=msvc-7_1 stage
msvc-7.1, not msvc-7_1 - Volodya _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Thomas Witt wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
Excellent! Some nits: - There are CVS/ directories in the archive. Can those be filtered out for release? - The main index.htm file has the countdown to BoostCon, and the "T-minus /N/" is already out of date. I think the BoostCon countdown should be removed. -- Eric Niebler Boost Consulting www.boost-consulting.com

On 4/27/07, Eric Niebler <eric@boost-consulting.com> wrote:
Thomas Witt wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
Excellent! Some nits:
- There are CVS/ directories in the archive. Can those be filtered out for release?
I don't see these at my end Eric...? There are some .cvsignore files which should not be packaged though. 'cvs export' should set things right AFAIK. -- Tarjei

In article <ff5e09cc0704270311v71a79f28g738a1d410bf5dced@mail.gmail.com> "Tarjei Knapstad" <tarjei.knapstad@gmail.com> wrote:
On 4/27/07, Eric Niebler <eric@boost-consulting.com> wrote:
Thomas Witt wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
Excellent! Some nits:
- There are CVS/ directories in the archive. Can those be filtered out for release?
I don't see these at my end Eric...?
I can't see them either.
There are some .cvsignore files which should not be packaged though.'cvs export' should set things right AFAIK.
Well I know of these, but I spotted them too late to remove them. My hunch is they actually are in cvs. That's why export does not help. Thomas

Thomas Witt wrote:
In article <ff5e09cc0704270311v71a79f28g738a1d410bf5dced@mail.gmail.com> "Tarjei Knapstad" <tarjei.knapstad@gmail.com> wrote:
On 4/27/07, Eric Niebler <eric@boost-consulting.com> wrote:
Thomas Witt wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
Excellent! Some nits:
- There are CVS/ directories in the archive. Can those be filtered out for release?
I don't see these at my end Eric...?
I can't see them either.
When I download the .zip from here: <http://downloads.sourceforge.net/boost/boost_1_34_0_beta.zip?use_mirror=superb-east> and open it in WinZip, I see slews of CVS directories and files. For example, I see a boost_1_34_0\boost\algorithm\string\CVS directory with the following files: Entries Entries.Extra Entries.Extra.Old Entries.Log Entries.Old Repository Root Tag The Root file contains: :ssh:witt@boost.cvs.sourceforge.net:/cvsroot/boost That's you, ain't it? :-) -- Eric Niebler Boost Consulting www.boost-consulting.com

In article <46323A4A.4030807@boost-consulting.com> Eric Niebler <eric@boost-consulting.com> wrote:
When I download the .zip from here: http://downloads.sourceforge.net/boost/boost_1_34_0_beta.zip?use_mirror =superb-east and open it in WinZip, I see slews of CVS directories and files. For example, I see a boost_1_34_0\boost\algorithm\string\CVS directory with the following files:
Yes, you are right. I messed up the windows export. Did I mention I hate GUI based CVS? Sorry Thomas
The Root file contains: :ssh:witt@boost.cvs.sourceforge.net:/cvsroot/boost
That's you, ain't it? :-)
Me? No way ;-)

on Fri Apr 27 2007, Thomas Witt <witt-AT-acm.org> wrote:
In article <46323A4A.4030807@boost-consulting.com> Eric Niebler <eric@boost-consulting.com> wrote:
When I download the .zip from here: http://downloads.sourceforge.net/boost/boost_1_34_0_beta.zip?use_mirror =superb-east and open it in WinZip, I see slews of CVS directories and files. For example, I see a boost_1_34_0\boost\algorithm\string\CVS directory with the following files:
Yes, you are right. I messed up the windows export. Did I mention I hate GUI based CVS?
Me too. There are plenty of good command line CVSes available for windows. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com Don't Miss BoostCon 2007! ==> http://www.boostcon.com

David Abrahams wrote:
on Fri Apr 27 2007, Thomas Witt <witt-AT-acm.org> wrote:
In article <46323A4A.4030807@boost-consulting.com> Eric Niebler <eric@boost-consulting.com> wrote:
When I download the .zip from here: http://downloads.sourceforge.net/boost/boost_1_34_0_beta.zip?use_mirror =superb-east and open it in WinZip, I see slews of CVS directories and files. For example, I see a boost_1_34_0\boost\algorithm\string\CVS directory with the following files:
Yes, you are right. I messed up the windows export. Did I mention I hate GUI based CVS?
Me too. There are plenty of good command line CVSes available for windows.
Me too. But I've been using the GUI version of SVN and its great. Robert Ramey

In article <46313C9B.7050502@boost-consulting.com> Eric Niebler <eric@boost-consulting.com> wrote:
- The main index.htm file has the countdown to BoostCon, and the "T-minus /N/" is already out of date. I think the BoostCon countdown should be removed.
It'll be removed. It's a leftover from an aborted attempt to use the index.htm from the beta as homepage. Thomas

Thomas Witt wrote:
David Abrahams for authoring a new getting started guide
IRC feedback... par 5.1 of getting started have a broken link: http://www.boost-consulting.com/download/windows -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo

on Thu Apr 26 2007, Rene Rivera <grafikrobot-AT-gmail.com> wrote:
Thomas Witt wrote:
David Abrahams for authoring a new getting started guide
IRC feedback...
par 5.1 of getting started have a broken link: http://www.boost-consulting.com/download/windows
Should be fixed by now. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com Don't Miss BoostCon 2007! ==> http://www.boostcon.com

What about ASIO & Interprocess? -----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Thomas Witt Sent: Thursday, April 26, 2007 7:14 PM To: boost@lists.boost.org; boost-users@lists.boost.org Subject: [boost] Boost 1.34.0 Beta released The first beta of what will become version 1.34.0 is now available from http://www.boost.org. 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. * 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. Supported Compilers Boost is tested on a wide range of compilers and platforms. Since Boost libraries rely on modern C++ features not available in all compilers, not all Boost libraries will work with every compiler. The following compilers and platforms have been extensively tested with Boost, although many other compilers and platforms will work as well. For more information, see the regression test results. * Apple GCC 4.0.1 on Mac OS X. * Borland C++ 5.8.2 on Windows. * GNU C++ o 3.2.x., 3.3.x, 3.4.x, 4.0.x, 4.1.x on Linux o 4.1.x on Solaris o 3.4.x on Windows * HP aC++ A.06.14. * Intel C++ 9.1 on Windows, 9.0 on Linux. * Metrowerks CodeWarrior 9.4 on Windows. * Microsoft Visual C++ 6.0 (sp5, with and without STLport), 7.0, 7.1, 8.0. Note: Boost does not support the non-standard "Safe" C++ Library shipping with Visual C++ 8.0, which may result in many spurious warnings from Boost headers and other standards-conforming C++ code. To suppress these warnings, define the macro _SCL_SECURE_NO_DEPRECATE. * Sun Studio 11 on Solaris. Acknowledgements A great number of people contributed their time and expertise to make this release possible. Special thanks go to Vladimir Prus for making Boost.Build version 2 a reality, David Abrahams for authoring a new getting started guide and Greg D. for answering countless questions. -- Thomas Witt witt@acm.org _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Are they available as separate components or they are still in alpha state? Thanks, Marius -----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Martin Wille Sent: Friday, April 27, 2007 9:50 AM To: boost@lists.boost.org Subject: Re: [boost] Boost 1.34.0 Beta released Jarrad Waterloo wrote:
What about ASIO & Interprocess?
Those are not in 1.34. HTH, m _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost ********************************************************************** This communication and all information (including, but not limited to, market prices/levels and data) contained therein (the "Information") is for informational purposes only, is confidential, may be legally privileged and is the intellectual property of ICAP plc and its affiliates ("ICAP") or third parties. No confidentiality or privilege is waived or lost by any mistransmission. The Information is not, and should not be construed as, an offer, bid or solicitation in relation to any financial instrument or as an official confirmation of any transaction. The Information is not warranted, including, but not limited, as to completeness, timeliness or accuracy and is subject to change without notice. ICAP assumes no liability for use or misuse of the Information. All representations and warranties are expressly disclaimed. The Information does not necessarily reflect the views of ICAP. Access to the Information by anyone else other than the recipient is unauthorized and any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it is prohibited. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. **********************************************************************

Thomas Witt wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
Updated Libraries
* 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()) Thanks, Stefan -- ...ich hab' noch einen Koffer in Berlin...

hi Thomas, On Thu, Apr 26, 2007 at 04:13:42PM -0700, Thomas Witt wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
i have some minor changes i had to apply in order to satisfy some debian users, feel free to import them before the final release. thank you. cheers domenico -----[ Domenico Andreoli, aka cavok --[ http://www.dandreoli.com/gpgkey.asc ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50

Domenico Andreoli wrote:
hi Thomas,
On Thu, Apr 26, 2007 at 04:13:42PM -0700, Thomas Witt wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
i have some minor changes i had to apply in order to satisfy some debian users, feel free to import them before the final release. thank you.
So, if I've read the diffs correctly these are mostly to suppress unused variable warnings? Although this one doesn't look to be the case: diff -ur -x .svn ../boost-1.34.0-beta1/boost/archive/polymorphic_oarchive.hpp ./boost/archive/polymorphic_oarchive.hpp + + virtual ~polymorphic_oarchive() {} Anyway, it really helps if you can provide at least a minimal explanation with the patches. Also, adding the libraries of interest helps get the attention of the authors. Thomas, I don't know what you want to do with these, but fwiw, the 2 date-time changes look to be trivial and safe. OTOH, they've been there since at least 1.33.1 so they're not new. Jeff

At 4:40 PM -0700 4/29/07, Jeff Garland wrote:
Domenico Andreoli wrote: diff -ur -x .svn ../boost-1.34.0-beta1/boost/archive/polymorphic_oarchive.hpp ./boost/archive/polymorphic_oarchive.hpp
+ + virtual ~polymorphic_oarchive() {}
For what it's worth, I've been maintaining a similar local patch against 1.33.1 and have determined that it needs to be applied to 1.34.0 as well. Below is the comment associated with the patch: + // kab, 9/26/06: Avoid destructor slicing when using polymorphic archives, + // where clients may not know the precise type. The need for this was + // reported to Robert Ramey (via boost developers list), where he + // acknowledged the problem and said he would fix in a future release. + virtual ~polymorphic_iarchive() { /* nothing to do here */ } I believe that date was post-RC_1_34_0 branch, and in fact I think at the time it was thought that boost 1.34.0 was immanent. Hm. But reviewing the email thread I see that Robert ultimately decided not to make this change, for reasons that I didn't (and still don't) understand (and apparently forgot to pursue). See: http://lists.boost.org/Archives/boost/2006/09/110979.php So I would suggest that this might not be a simple and obviously safe change for boost 1.34.0.

Kim Barrett wrote:
At 4:40 PM -0700 4/29/07, Jeff Garland wrote:
Domenico Andreoli wrote: diff -ur -x .svn ../boost-1.34.0-beta1/boost/archive/polymorphic_oarchive.hpp ./boost/archive/polymorphic_oarchive.hpp
+ + virtual ~polymorphic_oarchive() {}
For what it's worth, I've been maintaining a similar local patch against 1.33.1 and have determined that it needs to be applied to 1.34.0 as well. Below is the comment associated with the patch:
+ // kab, 9/26/06: Avoid destructor slicing when using polymorphic archives, + // where clients may not know the precise type. The need for this was + // reported to Robert Ramey (via boost developers list), where he + // acknowledged the problem and said he would fix in a future release. + virtual ~polymorphic_iarchive() { /* nothing to do here */ }
I believe that date was post-RC_1_34_0 branch, and in fact I think at the time it was thought that boost 1.34.0 was immanent.
Hm. But reviewing the email thread I see that Robert ultimately decided not to make this change, for reasons that I didn't (and still don't) understand (and apparently forgot to pursue). See:
I don't really understand this at all. I thought the whole point of polymorphic_text_*archive was so you could derive from it and re-implement the various load/save methods. The whole point being that you can write your own format and use runtime dispatch ala classical serialization...after a quick look, though I guess I don't understand.
So I would suggest that this might not be a simple and obviously safe change for boost 1.34.0.
Actually I find it hard to see how it will do any harm either. The class already has a virtual table so it can't increase the size of an instance. The accessibility isn't changed. I guess Robert will need to explain... Jeff

Jeff Garland wrote:
Kim Barrett wrote:
At 4:40 PM -0700 4/29/07, Jeff Garland wrote:
Domenico Andreoli wrote: diff -ur -x .svn ../boost-1.34.0-beta1/boost/archive/polymorphic_oarchive.hpp ./boost/archive/polymorphic_oarchive.hpp
+ + virtual ~polymorphic_oarchive() {}
For what it's worth, I've been maintaining a similar local patch against 1.33.1 and have determined that it needs to be applied to 1.34.0 as well. Below is the comment associated with the patch:
+ // kab, 9/26/06: Avoid destructor slicing when using polymorphic archives, + // where clients may not know the precise type. The need for this was + // reported to Robert Ramey (via boost developers list), where he + // acknowledged the problem and said he would fix in a future release. + virtual ~polymorphic_iarchive() { /* nothing to do here */ }
I believe that date was post-RC_1_34_0 branch, and in fact I think at the time it was thought that boost 1.34.0 was immanent.
Hm. But reviewing the email thread I see that Robert ultimately decided not to make this change, for reasons that I didn't (and still don't) understand (and apparently forgot to pursue). See:
The above email says: "Well, that's what I thought. Then I looked into it. When I tried it I got problems due the the fact that the most derived class is derived from multiple bases. see http://www.boost.org/libs/serialization/doc/class_diagram.html It's easy to see by making the change to "virtual" with your original example." That's what I still think.
I don't really understand this at all. I thought the whole point of polymorphic_text_*archive was so you could derive from it and re-implement the various load/save methods. The whole point being that you can write your own format and use runtime dispatch ala classical serialization...after a quick look, though I guess I don't understand.
The "default" method of implementing serialization is via the CRTP whereby calls to the implementation are resolved at compile time. This should give the compiler the opportunity to generate the most efficient code without the need to generate/instantiate code for those functions never called. The problem with this is that the serialization code has to be regenerated/ reinstantiated for each different archive. The results in more code being generated. Also there are cases where we would like to write generate an immutabel runtime interface so that programs/libraries don't have be recompiled for every new archive. This would permit things like dlls to contain serialization code that would work with any archive past, present and/or future. The "polymorphic" code is really a wrapper changing any archive implemented with the CRTP pattern into a more traditional virtual function pattern. All the archives in the library are implemented by means of CRTP and the polymorphicautomatically generated. This gives users the choice of using compile time polymorphism or runtime polymorphism. I knew I could never enough get agreement on which to use through a review so I just gave up and did both. I used the "wrapper/converter" idea to make the job simpler. I would recommend that those implement thier own archives from scratch or derivation follow the same idea. That is, use CRTP and implement the standard archive interface. Then create a polymorphic version automatically as I have done.
So I would suggest that this might not be a simple and obviously safe change for boost 1.34.0.
Actually I find it hard to see how it will do any harm either. The class already has a virtual table so it can't increase the size of an instance. The accessibility isn't changed. I guess Robert will need to explain...
I made the suggested change and started to have problems which I reported at the time. Now I forget the details. Anyone interested could easily re-run the test with the change. Robert Ramey
Jeff _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

On Sun, Apr 29, 2007 at 10:27:58PM -0700, Robert Ramey wrote:
Jeff Garland wrote:
Actually I find it hard to see how it will do any harm either. The class already has a virtual table so it can't increase the size of an instance. The accessibility isn't changed. I guess Robert will need to explain...
this was also my thought...
I made the suggested change and started to have problems which I reported at the time. Now I forget the details. Anyone interested could easily re-run the test with the change.
i definitively don't want to find the details the hard way. i just removed these virtual destructors. thank you. regards domenico -----[ Domenico Andreoli, aka cavok --[ http://www.dandreoli.com/gpgkey.asc ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50

In article <46352D00.5010301@crystalclearsoftware.com> Jeff Garland <jeff@crystalclearsoftware.com> wrote:
Thomas, I don't know what you want to do with these, but fwiw, the 2 date-time changes look to be trivial and safe. OTOH, they've been there since at least 1.33.1 so they're not new.
If your comfortable with them feel free to apply. Thomas

Thomas Witt wrote:
In article <46352D00.5010301@crystalclearsoftware.com> Jeff Garland <jeff@crystalclearsoftware.com> wrote:
Thomas, I don't know what you want to do with these, but fwiw, the 2 date-time changes look to be trivial and safe. OTOH, they've been there since at least 1.33.1 so they're not new.
If your comfortable with them feel free to apply.
May I humbly suggest that, as good / harmless as the suggestions may be, it is *way* too late to have this discussion in the context of 1.34 ? Pleeeese, let's move on. There will always be issues that could be worked out, with more time. Thanks, Stefan -- ...ich hab' noch einen Koffer in Berlin...

Stefan Seefeld wrote:
Thomas Witt wrote:
In article <46352D00.5010301@crystalclearsoftware.com> Jeff Garland <jeff@crystalclearsoftware.com> wrote:
Thomas, I don't know what you want to do with these, but fwiw, the 2 date-time changes look to be trivial and safe. OTOH, they've been there since at least 1.33.1 so they're not new. If your comfortable with them feel free to apply.
May I humbly suggest that, as good / harmless as the suggestions may be, it is *way* too late to have this discussion in the context of 1.34 ?
FWIW, I agree, especially since these changes appear to be only aimed at getting rid of warnings. I'd say that at this stage only fixes for bugs with attached verifiable test cases should go in, apart from documentation fixes. These changes might be worth reconsidering should it become necessary to issue a 1.34.1 release. Cheers, Nicola Musatti P.S. remember the 'none' issue...

In article <4635C65C.6010707@sympatico.ca> Stefan Seefeld <seefeld@sympatico.ca> wrote:
Thomas Witt wrote:
In article <46352D00.5010301@crystalclearsoftware.com> Jeff Garland <jeff@crystalclearsoftware.com> wrote:
Thomas, I don't know what you want to do with these, but fwiw, the 2 date-time changes look to be trivial and safe. OTOH, they've been there since at least 1.33.1 so they're not new.
If your comfortable with them feel free to apply.
May I humbly suggest that, as good / harmless as the suggestions maybe, it is *way* too late to have this discussion in the context of 1.34 ?
Just in case my remark was ambiguous. I was only referring to the two changes in date_time. With respect to those my word still stands. Thomas

Hi all, I'm wondering when ASIO will be included as part of the stock BOOST libraries. Arash Thomas Witt wrote:
The first beta of what will become version 1.34.0 is now available from http://www.boost.org.
participants (18)
-
Arash Partow
-
David Abrahams
-
Domenico Andreoli
-
Edward Diener
-
Eric Niebler
-
Jarrad Waterloo
-
Jeff Garland
-
Kim Barrett
-
Leopoldo Peralta
-
Marius Lazer
-
Martin Wille
-
Nicola Musatti
-
Rene Rivera
-
Robert Ramey
-
Stefan Seefeld
-
Tarjei Knapstad
-
Thomas Witt
-
Vladimir Prus