[1.32 release] TODO list synchronization

As we are coming closer to the branch-for-release date, I'd like to inquire developers working towards the release about the current status of their corresponding TODO items below. Simply replying to this message and saying "Done", "Not done, will be done by date X", "Abandoned" or whatever you wish to say on each of the items would be more than fine.
Circular Buffer ///////////////
Pavel Vozenilek writes:
I asked Jan Galdun and he will try to make circular_buffer available for 1.32.
Date-Time /////////
Jeff Garland writes:
And while I'm on the subject date-time plans for release, the only 'major issue' for this release is whether we are switching to boost-book for this release. We would like to, but if we don't make it we will do it for the next release.
Iterators /////////
David Abrahams writes:
There are a couple of things that ideally I would like to handle, but which I am not promising (yet):
1. Minor adjustments to code in the iterators library 2. Iterators library doc fixes
MPL ///
New version of the library will be checked in the main trunk before July 11.
Not done yet; July 15 is the new target.
Multi-Index ///////////
Joaquín Mª López Muñoz writes:
Current status: commited in the CVS since 6 weeks or so. Regression tests are OK for all the compilers that I intend to support. If someone is interested in some other compiler being supported, please contact me.
Pending issues: #1 Minor updates to the docs. No big deal. #2 Some changes related to the new defect macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
These issues will be resolved way before the branching date, I hope.
Numeric Conversions ///////////////////
Fernando Cacciola writes:
In preparation for the upcoming 1.32 release I added this library to CVS. The code and docs have been changed according to the extensive review results. I still need to extend the documentation adding examples and motivating cases though, which I plan to do before the release.
I haven't yet changed "boost/cast.hpp" to use the new stuff, I will as soon as I see the code stablilized among different compilers.
In the meantime, new users can use "boost/numeric/conversion/cast.hpp" which contains the new version of numeric_cast<>
Program Options ///////////////
Vladimir Prus writes:
1. Add markup for the current failures on Windows. I've done all workarounds I planned. 2. Finally get some results on gcc2.95-stlport. I expect that the library should work there, but due to Boost.Test failure I don't have any results. 3. Try to make Sun compiler happy. I'm comitted a workaround some time ago, but tests on Solaris were not run since then. 4. Check dynamic linking on Windows.
Serialization /////////////
Robert Ramey writes:
I would very much like to see the serialization library in the 1.32 Release. However, I'm not sure it will be possible to make the posted schedule.
I have made all changes to address issues raised in the review. On my personal machine I have passed tests for the compilers VC 7.1 VC 6, gcc 3.3. Borland compiles (almost everything but requires some debug - it will pass most tests) Comeau- compiles everthing - accept for a show stopping problem I've been unable to resolve. My intention has been:
a) post version compatible with 1.31 next week.
b) build and test against the CVS tree on my computer
c) check in
In order to do this I need:
a) authority to check in
b) information on how to mark tests/compilers known to fail.
c) I have a couple of questions that I need an expert opinion on.
i) the first one is that in order to work, versions for vc 6.0 and borland need to be compiled with spirit 1.61. So the a special environmental variable indicating the directory path where this version of spirit is located on the testing machine. SPIRIT_ROOT. This variable has to be set when serialization libraries are built for these compilers.
I should say I'm more than a little bit concerned about changes to mpl and iterators. I'm very much aware of the delays and difficulties associated with the 1.31 release - and it didn't even include this package.
So I would like to continue on the path I've established above and we'll see where things stand July 16 when/if you are ready to branch for release.
String Algorithms /////////////////
Pavol Droba writes:
I have few outstanding issues to fix, but they are mostly related to the documentation. I think, I can manage it.
As it seems, that the Range library will not make it to this release, I will use the internal versions of facilities that are currently in the string_algo lib.
So my todo list is as follows:
1) Finish the documentation - Add functions list - Add exception specifications - Cleanup
2) Fix examples 3) If there will be time, improve find_iterator 4) Fix possible regressions.
Questions: - I have posted some requestes/bugs on the boost-doc list. What is the status of this. Will they be fixed before release?
- According to metacom's tables regex is failing on comeau a so string_algo regex test. Is this a setup or regex problem?
- There is an problem with Intel compiler, split tests are failing and I cannot figureout why. The message is very vague. Could somebody with an access to this platform, try to debug the cause of the problem?
- In regards to the older compiler support. I cannot resonably support compilers, that I don't have an access to. Therefor if somebody is interested to use string_algo library with one of such compilers, I will need an active help with porting.
uBLAS /////
Michael Stevens writes:
The current status of uBLAS is that it has been relatively untouched in the Boost CVS single 1.30.0. The active development takes place on a separate CVS.
Therefore now would be a good time to bring in the latest code which as some quite significant improvements. The code is relatively stable and tested on core compilers.
Issues: On exotic (old) compiler the code is relatively untested and expected to fail. Therefore the real need with regard to 1.32 is to get feedback from extensive regression testing results in good time.
As ever the documentation could do with further work to bring it up to date with the to be release version.
Thanks in advance, -- Aleksey Gurtovoy MetaCommunications Engineering

Aleksey Gurtovoy wrote:
Program Options ///////////////
Vladimir Prus writes:
1. Add markup for the current failures on Windows. I've done all workarounds I planned.
Done.
2. Finally get some results on gcc2.95-stlport. I expect that the library should work there, but due to Boost.Test failure I don't have any results.
Not done. In fact, most of the program_option tests suddenly fail now on Linux. Moreover, *lots* of other library fail too. BGL is almost red/yellow, and even smart_ptr fails most tests. Seems a configuration problem.
3. Try to make Sun compiler happy. I'm comitted a workaround some time ago, but tests on Solaris were not run since then.
Consider this postponed. I might get it working or might not, but this is not release critical.
4. Check dynamic linking on Windows.
There are problems. 1. VC7.1 can't find one symbol 2. Intel tests seems to crash at runtime or don't start at all. I'd appreciated if you let me know what exactly happens 3. Comeau does not understand __declspec This might take some time -- Fri 15 is more or less realistic. OTOH, this should not block branch for release -- fixes for this problems are very local. - Volodya

Vladimir Prus writes:
Aleksey Gurtovoy wrote:
Program Options ///////////////
Vladimir Prus writes:
1. Add markup for the current failures on Windows. I've done all workarounds I planned.
Done.
What about Metrowerks Codewarrior? Do you plan to mark it unusable?
From a quick glance, the errors seem to be legitimate.
2. Finally get some results on gcc2.95-stlport. I expect that the library should work there, but due to Boost.Test failure I don't have any results.
Not done. In fact, most of the program_option tests suddenly fail now on Linux. Moreover, *lots* of other library fail too. BGL is almost red/yellow, and even smart_ptr fails most tests. Seems a configuration problem.
It was; fixed now. I suppose "not done" means you are still in the process?
3. Try to make Sun compiler happy. I'm comitted a workaround some time ago, but tests on Solaris were not run since then.
Consider this postponed. I might get it working or might not, but this is not release critical.
OK.
4. Check dynamic linking on Windows.
There are problems.
1. VC7.1 can't find one symbol
Same for many Intel tests, it seems. Do you need any help figuring it out?
2. Intel tests seems to crash at runtime or don't start at all. I'd appreciated if you let me know what exactly happens
I'll take a look at it after MPL is in the CVS.
3. Comeau does not understand __declspec
Probably missing some configuration option from the command line. Any experts to step in?
This might take some time -- Fri 15 is more or less realistic. OTOH, this should not block branch for release -- fixes for this problems are very local.
OK, noted. Thanks for the report, -- Aleksey Gurtovoy MetaCommunications Engineering

Aleksey Gurtovoy wrote:
What about Metrowerks Codewarrior? Do you plan to mark it unusable?
From a quick glance, the errors seem to be legitimate.
Heck, this is fresh failure intoduced yesterday (to make the library compiler on an earlier borland version). I'll see what I can do.
2. Finally get some results on gcc2.95-stlport. I expect that the library should work there, but due to Boost.Test failure I don't have any results.
Not done. In fact, most of the program_option tests suddenly fail now on Linux. Moreover, *lots* of other library fail too. BGL is almost red/yellow, and even smart_ptr fails most tests. Seems a configuration problem.
It was; fixed now. I suppose "not done" means you are still in the process?
Now that I finally see the results, I've marked 2.95-stlport unusable. It ICEs and I have no idea what to look at.
4. Check dynamic linking on Windows.
There are problems.
1. VC7.1 can't find one symbol
Same for many Intel tests, it seems. Do you need any help figuring it out?
I'd appreciate some advice. One header file (boost/program_options/detail/value_semantic.hpp) contains: extern BOOST_PROGRAM_OPTIONS_DECL std::string arg; and libs/program_options/src/value_semantic.cpp has: BOOST_PROGRAM_OPTIONS_DECL std::string arg("arg"); The definitions of BOOST_PROGRAM_OPTIONS_DECL appear to be right, since all functions link OK. Further, it links OK on borland. I have several alternatives to try, including: - moving the variable out of namespace - changing the definition of variable to std::string arg("arg"); - changing the definition of variable to BOOST_PROGRAM_OPTIONS_DECL std::string arg; std::string arg("arg"); - using function instead of variable but trying them will take 4 days (given than my machine where Platform SDK was installed is dead now), so I'd appreciat any help.
2. Intel tests seems to crash at runtime or don't start at all. I'd appreciated if you let me know what exactly happens
I'll take a look at it after MPL is in the CVS.
Thanks. - Volodya

On Tue, Jul 13, 2004 at 02:51:04AM -0500, Aleksey Gurtovoy wrote:
As we are coming closer to the branch-for-release date, I'd like to inquire developers working towards the release about the current status of their corresponding TODO items below. Simply replying to this message and saying "Done", "Not done, will be done by date X", "Abandoned" or whatever you wish to say on each of the items would be more than fine.
String Algorithms /////////////////
Pavol Droba writes:
I have few outstanding issues to fix, but they are mostly related to the documentation. I think, I can manage it.
As it seems, that the Range library will not make it to this release, I will use the internal versions of facilities that are currently in the string_algo lib.
So my todo list is as follows:
1) Finish the documentation - Add functions list Done
- Add exception specifications
Working on it
- Cleanup
Mostly done
2) Fix examples Reviewed. Mostly ok.
3) If there will be time, improve find_iterator 4) Fix possible regressions.
I have fixed all regresions that I could. No luck with the remaining. Major compiler platforms are regression free. Code is stable now. I'm not planing to change anything before release, except when somebody helps me with outstanding regressions. Updated documentation is not in CVS yet. I'm planning to commit it next 1-2 days. Pavol

Pavol Droba wrote:
I have fixed all regresions that I could. No luck with the remaining. Major compiler platforms are regression free.
I've investigated what the Intel problem is. Even if I don't know why yet, I know what the problem is; for the split testcases where input is of const char*, the iterators get confused somehow. See iter_find.hpp/line 144: In the constructor of SequenceSequenceT Tmp(...), the sequence passed is empty. I've found a workaround which works, but I still can't understand why: just make local variables for the iterators! input_iterator_type InputEnd=end(Input); typedef transform_iterator<copy_range_type, find_iterator_type> transform_iter_t; transform_iter_t b = make_transform_iterator( find_iterator_type( begin(Input), InputEnd, Finder ), copy_range_type()); transform_iter_t e = make_transform_iterator( find_iterator_type(), copy_range_type()); SequenceSequenceT Tmp(b, e); Result.swap(Tmp); With this code, everything is fine. I hope I can find out the reason for this strange compiler behaviour... Stefan

Pavol Droba <droba@topmail.sk> writes:
- Add exception specifications
Working on it
empty ones only, I trust? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

Pavol Droba writes:
1) Finish the documentation - Add functions list Done
- Add exception specifications
Working on it
- Cleanup
Mostly done
2) Fix examples Reviewed. Mostly ok.
3) If there will be time, improve find_iterator 4) Fix possible regressions.
I have fixed all regresions that I could. No luck with the remaining.
Could you mark the rest as unusable then, please?
Major compiler platforms are regression free.
Do you plan to do anything about CodeWarrior failures (http://tinyurl.com/5otjj, http://tinyurl.com/3yv84)?
Code is stable now. I'm not planing to change anything before release, except when somebody helps me with outstanding regressions.
If they are not resolved, I'd appreciate if you marked them up along the lines of the existing standalone failures markup, e.g. http://tinyurl.com/6wxz8.
Updated documentation is not in CVS yet. I'm planning to commit it next 1-2 days.
OK, thanks for the update! -- Aleksey Gurtovoy MetaCommunications Engineering

On Wed, Jul 14, 2004 at 02:43:34AM -0500, Aleksey Gurtovoy wrote:
I have fixed all regresions that I could. No luck with the remaining.
Could you mark the rest as unusable then, please?
I have marked them yesterday, but the regression tests did not take the markups into account yet.
Major compiler platforms are regression free.
Do you plan to do anything about CodeWarrior failures (http://tinyurl.com/5otjj, http://tinyurl.com/3yv84)?
I would like to, but I don't know how. I have posted a request for help on the list, there were some hints, but it didn't helped. I have no access to codewarrior8 and without it, there is no chance, that I will do anything about the failures before the branch. I have tested with cwpro9 some time ago, and it worked fine. However we don't have a test setup for this compiler.
Code is stable now. I'm not planing to change anything before release, except when somebody helps me with outstanding regressions.
If they are not resolved, I'd appreciate if you marked them up along the lines of the existing standalone failures markup, e.g. http://tinyurl.com/6wxz8.
I have fixed some intel problems with the help of Stefan Slapeta. But the update is not in the regression tables yet. Just to verify, markup is done in boost/status/explicit-failures-markup.xml, right? Regards, Pavol

On Wed, Jul 14, 2004 at 10:58:04AM +0200, Stefan Slapeta wrote:
Pavol Droba wrote:
I have fixed some intel problems with the help of Stefan Slapeta. But the update is not in the regression tables yet.
Please could somebody point me to a regression table with Intel 8? Seems I'm blind somehow...
http://boost.sourceforge.net/regression-logs/cs-Linux.html There is only the linxux version in the regression tables. Regards, Pavol

Pavol Droba wrote:
http://boost.sourceforge.net/regression-logs/cs-Linux.html
There is only the linxux version in the regression tables.
What are the (regression) plans for Win32 / Intel 8 + CW 9? I think it's very important to see the results for them. I could voluntere making the tests for Intel 8, beginning with next week, if this is not too late. However, I've no access to CW 9. Stefan

On Wed, Jul 14, 2004 at 01:31:30PM +0200, Stefan Slapeta wrote:
Pavol Droba wrote:
http://boost.sourceforge.net/regression-logs/cs-Linux.html
There is only the linxux version in the regression tables.
What are the (regression) plans for Win32 / Intel 8 + CW 9? I think it's very important to see the results for them. I could voluntere making the tests for Intel 8, beginning with next week, if this is not too late. However, I've no access to CW 9.
I'd like to see those two compilers as well. Unfortunately I don't have access to any of them. Pavol

Stefan Slapeta <stefan_nospam_@slapeta.com> writes:
Pavol Droba wrote:
http://boost.sourceforge.net/regression-logs/cs-Linux.html There is only the linxux version in the regression tables.
What are the (regression) plans for Win32 / Intel 8 + CW 9? I think it's very important to see the results for them. I could voluntere making the tests for Intel 8, beginning with next week, if this is not too late. However, I've no access to CW 9.
I believe you can download an evaluation version of pro9 from the MW website. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

Pavol Droba <droba@topmail.sk> writes:
I have tested with cwpro9 some time ago, and it worked fine. However we don't have a test setup for this compiler.
What's a "test setup"? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

On Wed, Jul 14, 2004 at 09:40:50AM -0400, David Abrahams wrote:
Pavol Droba <droba@topmail.sk> writes:
I have tested with cwpro9 some time ago, and it worked fine. However we don't have a test setup for this compiler.
What's a "test setup"?
Something, that does the regular regression testing, that can be seen in the regression tables? I don't know how do you call it. Pavol

Aleksey Gurtovoy ha escrito:
As we are coming closer to the branch-for-release date, I'd like to inquire developers working towards the release about the current status of their corresponding TODO items below. Simply replying to this message and saying "Done", "Not done, will be done by date X", "Abandoned" or whatever you wish to say on each of the items would be more than fine.
[..]
Multi-Index ///////////
Joaquín Mª López Muñoz writes:
Current status: commited in the CVS since 6 weeks or so. Regression tests are OK for all the compilers that I intend to support. If someone is interested in some other compiler being supported, please contact me.
Pending issues: #1 Minor updates to the docs. No big deal. #2 Some changes related to the new defect macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
Done. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

Joaquín Mª López Muñoz writes:
Aleksey Gurtovoy ha escrito:
As we are coming closer to the branch-for-release date, I'd like to inquire developers working towards the release about the current status of their corresponding TODO items below. Simply replying to this message and saying "Done", "Not done, will be done by date X", "Abandoned" or whatever you wish to say on each of the items would be more than fine.
[..]
Multi-Index ///////////
Joaquín Mª López Muñoz writes:
Current status: commited in the CVS since 6 weeks or so. Regression tests are OK for all the compilers that I intend to support. If someone is interested in some other compiler being supported, please contact me.
Pending issues: #1 Minor updates to the docs. No big deal. #2 Some changes related to the new defect macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
Done.
Excellent! The sight of the greenish reports is especially pleasant. -- Aleksey Gurtovoy MetaCommunications Engineering

Pending issues: #1 Minor updates to the docs. No big deal. #2 Some changes related to the new defect macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
I'm happy with the name of that config macro as is: it's long enough already IMO, so unless someone's desperate for the work I'd say leave it as is. John.

Aleksey Gurtovoy wrote:
Numeric Conversions ///////////////////
Fernando Cacciola writes:
In preparation for the upcoming 1.32 release I added this library to CVS. The code and docs have been changed according to the extensive review results.
Right now the code passes only vc7.1 (which is the compiler I'm using) I expect to have it working with most of the other compilers in about two weeks (by July 26)
I still need to extend the documentation adding examples and motivating cases though, which I plan to do before the release.
I expect to have this done by July 30.
Fernando Cacciola SciSoft

Fernando Cacciola writes:
Aleksey Gurtovoy wrote:
Numeric Conversions ///////////////////
Fernando Cacciola writes:
In preparation for the upcoming 1.32 release I added this library to CVS. The code and docs have been changed according to the extensive review results.
Right now the code passes only vc7.1 (which is the compiler I'm using) I expect to have it working with most of the other compilers in about two weeks (by July 26)
Since the library is new, it's not holding the release, though, right? If so, could you mark the rest of the toolsets as unusable until they are taken care of?
I still need to extend the documentation adding examples and motivating cases though, which I plan to do before the release.
I expect to have this done by July 30.
Thanks for the update! -- Aleksey Gurtovoy MetaCommunications Engineering

"Aleksey Gurtovoy" wrote:
Circular Buffer ///////////////
Pavel Vozenilek writes:
I asked [library author] and he will try to make circular_buffer available for 1.32.
Cannot contact him now. Maybe he's travelling. It would be safer to postpone circular_buffer for 1.33. If anything, I can take it over and push it in. /Pavel

Hi, I'm leaving for vacation tomorrow, I'll be back on 29th July. Here is a status report about the string_algo library. I have fixed, finished all crucial outstanding issues. - Documentation is reviewed and clean up. - Testing seems fine on all important compilers. I have marked the unusable toolsets (hopefuly it is correct now). There is still a problem with intel compiler on windows, that I thought I have fixed, however the regression tables show something else. I don't know if the problem is with the regression testing updates or somewhere else. I will try to investigate this today. As I said, from tomorrow on, I will be offline. I have tried my best to put the library in the reasonable shape. I don't expect any sudden showstoppers to occur. If there will be any problem (bug or typo of anything else) fell free to fix it, just drop me an email about that. I'm looking forward for the succesful release. Best Regrards, Pavol

Pavol Droba wrote:
As I said, from tomorrow on, I will be offline. I have tried my best to put the library in the reasonable shape. I don't expect any sudden showstoppers to occur. If there will be any problem (bug or typo of anything else) fell free to fix it, just drop me an email about that.
I've attached some small patches. boost/algorithm/string/config.hpp uses BOOST_WORKAROUND but doesn't include the necessary header, patch-1 adds that. patch-2 changes the unit tests so that the header being tested comes first, so that errors like this will be detected. patch-3 adds a missing import to your test Jamfile.v2. If Pavol can't deal with this, can somebody else check in them in? thanks, Daniel Index: string/config.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/algorithm/string/config.hpp,v retrieving revision 1.3 diff -u -r1.3 config.hpp --- string/config.hpp 3 Jul 2004 10:31:01 -0000 1.3 +++ string/config.hpp 16 Jul 2004 12:49:35 -0000 @@ -11,6 +11,7 @@ #define BOOST_STRING_CONFIG_HPP #include <boost/config.hpp> +#include <boost/detail/workaround.hpp> #ifdef BOOST_STRING_DEDUCED_TYPENAME # error "macro already defined!" Index: string/test/container_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/container_test.cpp,v retrieving revision 1.1 diff -u -r1.1 container_test.cpp --- string/test/container_test.cpp 4 Mar 2004 22:12:19 -0000 1.1 +++ string/test/container_test.cpp 16 Jul 2004 12:49:58 -0000 @@ -7,6 +7,10 @@ // See http://www.boost.org for updates, documentation, and revision history. +#include <boost/algorithm/string/collection_traits.hpp> +// equals predicate is used for result comparison +#include <boost/algorithm/string/predicate.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp> @@ -14,12 +18,8 @@ #include <utility> #include <vector> -#include <boost/algorithm/string/collection_traits.hpp> #include <boost/type_traits.hpp> -// equals predicate is used for result comparison -#include <boost/algorithm/string/predicate.hpp> - // test tools #include <boost/test/test_tools.hpp> Index: string/test/conv_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/conv_test.cpp,v retrieving revision 1.3 diff -u -r1.3 conv_test.cpp --- string/test/conv_test.cpp 9 Mar 2004 18:25:03 -0000 1.3 +++ string/test/conv_test.cpp 16 Jul 2004 12:49:58 -0000 @@ -7,13 +7,14 @@ // See http://www.boost.org for updates, documentation, and revision history. +#include <boost/algorithm/string/case_conv.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp> #include <string> #include <iostream> #include <algorithm> -#include <boost/algorithm/string/case_conv.hpp> #include <boost/test/test_tools.hpp> using namespace std; Index: string/test/find_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/find_test.cpp,v retrieving revision 1.1 diff -u -r1.1 find_test.cpp --- string/test/find_test.cpp 4 Mar 2004 22:12:19 -0000 1.1 +++ string/test/find_test.cpp 16 Jul 2004 12:49:59 -0000 @@ -7,6 +7,9 @@ // See http://www.boost.org for updates, documentation, and revision history. +#include <boost/algorithm/string/find.hpp> +#include <boost/algorithm/string/classification.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp> @@ -15,8 +18,6 @@ #include <iostream> #include <iterator> #include <sstream> -#include <boost/algorithm/string/find.hpp> -#include <boost/algorithm/string/classification.hpp> #include <boost/test/test_tools.hpp> using namespace std; Index: string/test/predicate_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/predicate_test.cpp,v retrieving revision 1.2 diff -u -r1.2 predicate_test.cpp --- string/test/predicate_test.cpp 9 Mar 2004 18:25:03 -0000 1.2 +++ string/test/predicate_test.cpp 16 Jul 2004 12:49:59 -0000 @@ -7,6 +7,9 @@ // See http://www.boost.org for updates, documentation, and revision history. +#include <boost/algorithm/string/predicate.hpp> +#include <boost/algorithm/string/classification.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp> @@ -14,8 +17,6 @@ #include <vector> #include <iostream> #include <functional> -#include <boost/algorithm/string/predicate.hpp> -#include <boost/algorithm/string/classification.hpp> #include <boost/test/test_tools.hpp> using namespace std; Index: string/test/regex_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/regex_test.cpp,v retrieving revision 1.3 diff -u -r1.3 regex_test.cpp --- string/test/regex_test.cpp 2 Apr 2004 16:56:21 -0000 1.3 +++ string/test/regex_test.cpp 16 Jul 2004 12:50:00 -0000 @@ -7,6 +7,9 @@ // See http://www.boost.org for updates, documentation, and revision history. +#include <boost/algorithm/string/regex.hpp> +#include <boost/algorithm/string/sequence_traits.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp> @@ -14,8 +17,6 @@ #include <vector> #include <iostream> #include <boost/regex.hpp> -#include <boost/algorithm/string/sequence_traits.hpp> -#include <boost/algorithm/string/regex.hpp> #include <boost/test/test_tools.hpp> using namespace std; Index: string/test/replace_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/replace_test.cpp,v retrieving revision 1.4 diff -u -r1.4 replace_test.cpp --- string/test/replace_test.cpp 2 Apr 2004 16:56:25 -0000 1.4 +++ string/test/replace_test.cpp 16 Jul 2004 12:50:00 -0000 @@ -7,6 +7,11 @@ // See http://www.boost.org for updates, documentation, and revision history. +#include <boost/algorithm/string/replace.hpp> +#include <boost/algorithm/string/erase.hpp> +#include <boost/algorithm/string/std/list_traits.hpp> +#include <boost/algorithm/string/std/string_traits.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp> @@ -15,11 +20,6 @@ #include <list> #include <iostream> -#include <boost/algorithm/string/std/list_traits.hpp> -#include <boost/algorithm/string/std/string_traits.hpp> -#include <boost/algorithm/string/replace.hpp> -#include <boost/algorithm/string/erase.hpp> - // equals predicate is used for result comparison #include <boost/algorithm/string/predicate.hpp> Index: string/test/split_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/split_test.cpp,v retrieving revision 1.3 diff -u -r1.3 split_test.cpp --- string/test/split_test.cpp 16 Jul 2004 09:08:21 -0000 1.3 +++ string/test/split_test.cpp 16 Jul 2004 12:50:01 -0000 @@ -7,6 +7,11 @@ // See http://www.boost.org for updates, documentation, and revision history. +#include <boost/algorithm/string/split.hpp> +#include <boost/algorithm/string/classification.hpp> +// equals predicate is used for result comparison +#include <boost/algorithm/string/predicate.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp> @@ -15,11 +20,6 @@ #include <iostream> #include <boost/test/test_tools.hpp> -#include <boost/algorithm/string/split.hpp> -#include <boost/algorithm/string/classification.hpp> - -// equals predicate is used for result comparison -#include <boost/algorithm/string/predicate.hpp> using namespace std; Index: string/test/trim_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/trim_test.cpp,v retrieving revision 1.1 diff -u -r1.1 trim_test.cpp --- string/test/trim_test.cpp 4 Mar 2004 22:12:19 -0000 1.1 +++ string/test/trim_test.cpp 16 Jul 2004 12:50:01 -0000 @@ -7,12 +7,13 @@ // See http://www.boost.org for updates, documentation, and revision history. +#include <boost/algorithm/string/trim.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp> #include <string> #include <iostream> -#include <boost/algorithm/string/trim.hpp> #include <boost/test/test_tools.hpp> using namespace std; Index: string/test/Jamfile.v2 =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/Jamfile.v2,v retrieving revision 1.1 diff -u -r1.1 Jamfile.v2 --- string/test/Jamfile.v2 10 Jun 2004 10:02:02 -0000 1.1 +++ string/test/Jamfile.v2 16 Jul 2004 12:49:57 -0000 @@ -7,6 +7,8 @@ # # See http://www.boost.org for updates, documentation, and revision history. +import testing ; + test-suite string_algo : [ run container_test.cpp

Thanks, I will apply the patches. Regards, Pavol On Fri, Jul 16, 2004 at 02:10:42PM +0100, Daniel James wrote:
Pavol Droba wrote:
As I said, from tomorrow on, I will be offline. I have tried my best to put the library in the reasonable shape. I don't expect any sudden showstoppers to occur. If there will be any problem (bug or typo of anything else) fell free to fix it, just drop me an email about that.
I've attached some small patches. boost/algorithm/string/config.hpp uses BOOST_WORKAROUND but doesn't include the necessary header, patch-1 adds that. patch-2 changes the unit tests so that the header being tested comes first, so that errors like this will be detected. patch-3 adds a missing import to your test Jamfile.v2.
If Pavol can't deal with this, can somebody else check in them in?
thanks,
Daniel
Index: string/config.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/algorithm/string/config.hpp,v retrieving revision 1.3 diff -u -r1.3 config.hpp --- string/config.hpp 3 Jul 2004 10:31:01 -0000 1.3 +++ string/config.hpp 16 Jul 2004 12:49:35 -0000 @@ -11,6 +11,7 @@ #define BOOST_STRING_CONFIG_HPP
#include <boost/config.hpp> +#include <boost/detail/workaround.hpp>
#ifdef BOOST_STRING_DEDUCED_TYPENAME # error "macro already defined!"
Index: string/test/container_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/container_test.cpp,v retrieving revision 1.1 diff -u -r1.1 container_test.cpp --- string/test/container_test.cpp 4 Mar 2004 22:12:19 -0000 1.1 +++ string/test/container_test.cpp 16 Jul 2004 12:49:58 -0000 @@ -7,6 +7,10 @@
// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/algorithm/string/collection_traits.hpp> +// equals predicate is used for result comparison +#include <boost/algorithm/string/predicate.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp>
@@ -14,12 +18,8 @@ #include <utility> #include <vector>
-#include <boost/algorithm/string/collection_traits.hpp> #include <boost/type_traits.hpp>
-// equals predicate is used for result comparison -#include <boost/algorithm/string/predicate.hpp> - // test tools #include <boost/test/test_tools.hpp>
Index: string/test/conv_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/conv_test.cpp,v retrieving revision 1.3 diff -u -r1.3 conv_test.cpp --- string/test/conv_test.cpp 9 Mar 2004 18:25:03 -0000 1.3 +++ string/test/conv_test.cpp 16 Jul 2004 12:49:58 -0000 @@ -7,13 +7,14 @@
// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/algorithm/string/case_conv.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp>
#include <string> #include <iostream> #include <algorithm> -#include <boost/algorithm/string/case_conv.hpp> #include <boost/test/test_tools.hpp>
using namespace std; Index: string/test/find_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/find_test.cpp,v retrieving revision 1.1 diff -u -r1.1 find_test.cpp --- string/test/find_test.cpp 4 Mar 2004 22:12:19 -0000 1.1 +++ string/test/find_test.cpp 16 Jul 2004 12:49:59 -0000 @@ -7,6 +7,9 @@
// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/algorithm/string/find.hpp> +#include <boost/algorithm/string/classification.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp>
@@ -15,8 +18,6 @@ #include <iostream> #include <iterator> #include <sstream> -#include <boost/algorithm/string/find.hpp> -#include <boost/algorithm/string/classification.hpp> #include <boost/test/test_tools.hpp>
using namespace std; Index: string/test/predicate_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/predicate_test.cpp,v retrieving revision 1.2 diff -u -r1.2 predicate_test.cpp --- string/test/predicate_test.cpp 9 Mar 2004 18:25:03 -0000 1.2 +++ string/test/predicate_test.cpp 16 Jul 2004 12:49:59 -0000 @@ -7,6 +7,9 @@
// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/algorithm/string/predicate.hpp> +#include <boost/algorithm/string/classification.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp>
@@ -14,8 +17,6 @@ #include <vector> #include <iostream> #include <functional> -#include <boost/algorithm/string/predicate.hpp> -#include <boost/algorithm/string/classification.hpp> #include <boost/test/test_tools.hpp>
using namespace std; Index: string/test/regex_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/regex_test.cpp,v retrieving revision 1.3 diff -u -r1.3 regex_test.cpp --- string/test/regex_test.cpp 2 Apr 2004 16:56:21 -0000 1.3 +++ string/test/regex_test.cpp 16 Jul 2004 12:50:00 -0000 @@ -7,6 +7,9 @@
// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/algorithm/string/regex.hpp> +#include <boost/algorithm/string/sequence_traits.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp>
@@ -14,8 +17,6 @@ #include <vector> #include <iostream> #include <boost/regex.hpp> -#include <boost/algorithm/string/sequence_traits.hpp> -#include <boost/algorithm/string/regex.hpp> #include <boost/test/test_tools.hpp>
using namespace std; Index: string/test/replace_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/replace_test.cpp,v retrieving revision 1.4 diff -u -r1.4 replace_test.cpp --- string/test/replace_test.cpp 2 Apr 2004 16:56:25 -0000 1.4 +++ string/test/replace_test.cpp 16 Jul 2004 12:50:00 -0000 @@ -7,6 +7,11 @@
// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/algorithm/string/replace.hpp> +#include <boost/algorithm/string/erase.hpp> +#include <boost/algorithm/string/std/list_traits.hpp> +#include <boost/algorithm/string/std/string_traits.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp>
@@ -15,11 +20,6 @@ #include <list> #include <iostream>
-#include <boost/algorithm/string/std/list_traits.hpp> -#include <boost/algorithm/string/std/string_traits.hpp> -#include <boost/algorithm/string/replace.hpp> -#include <boost/algorithm/string/erase.hpp> - // equals predicate is used for result comparison #include <boost/algorithm/string/predicate.hpp>
Index: string/test/split_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/split_test.cpp,v retrieving revision 1.3 diff -u -r1.3 split_test.cpp --- string/test/split_test.cpp 16 Jul 2004 09:08:21 -0000 1.3 +++ string/test/split_test.cpp 16 Jul 2004 12:50:01 -0000 @@ -7,6 +7,11 @@
// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/algorithm/string/split.hpp> +#include <boost/algorithm/string/classification.hpp> +// equals predicate is used for result comparison +#include <boost/algorithm/string/predicate.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp>
@@ -15,11 +20,6 @@ #include <iostream>
#include <boost/test/test_tools.hpp> -#include <boost/algorithm/string/split.hpp> -#include <boost/algorithm/string/classification.hpp> - -// equals predicate is used for result comparison -#include <boost/algorithm/string/predicate.hpp>
using namespace std; Index: string/test/trim_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/trim_test.cpp,v retrieving revision 1.1 diff -u -r1.1 trim_test.cpp --- string/test/trim_test.cpp 4 Mar 2004 22:12:19 -0000 1.1 +++ string/test/trim_test.cpp 16 Jul 2004 12:50:01 -0000 @@ -7,12 +7,13 @@
// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/algorithm/string/trim.hpp> + // Include unit test framework #include <boost/test/included/test_exec_monitor.hpp>
#include <string> #include <iostream> -#include <boost/algorithm/string/trim.hpp> #include <boost/test/test_tools.hpp>
using namespace std;
Index: string/test/Jamfile.v2 =================================================================== RCS file: /cvsroot/boost/boost/libs/algorithm/string/test/Jamfile.v2,v retrieving revision 1.1 diff -u -r1.1 Jamfile.v2 --- string/test/Jamfile.v2 10 Jun 2004 10:02:02 -0000 1.1 +++ string/test/Jamfile.v2 16 Jul 2004 12:49:57 -0000 @@ -7,6 +7,8 @@ # # See http://www.boost.org for updates, documentation, and revision history.
+import testing ; + test-suite string_algo : [ run container_test.cpp
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Daniel James wrote:
Pavol Droba wrote:
As I said, from tomorrow on, I will be offline. I have tried my best to put the library in the reasonable shape. I don't expect any sudden showstoppers to occur. If there will be any problem (bug or typo of anything else) fell free to fix it, just drop me an email about that.
I've attached some small patches. boost/algorithm/string/config.hpp uses BOOST_WORKAROUND but doesn't include the necessary header, patch-1 adds that. patch-2 changes the unit tests so that the header being tested comes first, so that errors like this will be detected. patch-3 adds a missing import to your test Jamfile.v2.
I've just added "using testing ; " to top-level project-root.jam, so individual Jamfile.v2 need not import it any longer. Thanks, Volodya
participants (10)
-
Aleksey Gurtovoy
-
Daniel James
-
David Abrahams
-
Fernando Cacciola
-
Joaquín Mª López Muñoz
-
John Maddock
-
Pavel Vozenilek
-
Pavol Droba
-
Stefan Slapeta
-
Vladimir Prus