Fwd: [String algo] Breaking change between 1.41 and 1.44 in split

As I got no answer on the user list, I try again. Is the library still maintained? ---------- Forwarded message ---------- From: Christophe Henry <christophe.j.henry@googlemail.com> Date: 2010/10/13 Subject: [String algo] Breaking change between 1.41 and 1.44 in split To: boost-users@lists.boost.org Hi, I noticed a breaking change in the split function when the input string is empty. Consider the following example: #include <string> #include <vector> #include <iostream> #include <boost/algorithm/string/split.hpp> #include <boost/algorithm/string/classification.hpp> int main() { std::vector<std::string> result; std::string empty_string; boost::algorithm::split( result, empty_string,boost::algorithm::is_any_of( "\t" ),boost::algorithm::token_compress_off); std::cout << "result size: " << result.size() << std::endl; return 0; } With boost 1.41 I get: result_size: 1 With 1.44 I get: result_size: 0 Meaning that splitting an empty string now has a new meaning. All I found to this subject was that 1 seems to be the correct answer (http://lists.boost.org/Archives/boost/2005/07/90266.php). Furthermore, there has been, according to the release notes, no change to string algo since the 1.41. This brings me to the question, before I start updating my code, is this change a design decision or an accident? Thanks, Christophe

Hello, First of all, I would suggest you to post requests such as this to trac. I'm not able to follow the list regularly and a single mail is easy to miss. I'm not aware about any change that could cause such a result as you describe in between versions 1.41 and 1.44 so I really need to investigate it. I'll let you know later. Best Regards, Pavol. On Thu, 14 Oct 2010 21:54:16 +0200, Christophe Henry <christophe.j.henry@googlemail.com> wrote:
As I got no answer on the user list, I try again. Is the library still maintained?
---------- Forwarded message ---------- From: Christophe Henry <christophe.j.henry@googlemail.com> Date: 2010/10/13 Subject: [String algo] Breaking change between 1.41 and 1.44 in split To: boost-users@lists.boost.org
Hi,
I noticed a breaking change in the split function when the input string is empty. Consider the following example:
#include <string> #include <vector> #include <iostream> #include <boost/algorithm/string/split.hpp> #include <boost/algorithm/string/classification.hpp>
int main() { std::vector<std::string> result; std::string empty_string; boost::algorithm::split( result, empty_string,boost::algorithm::is_any_of( "\t" ),boost::algorithm::token_compress_off); std::cout << "result size: " << result.size() << std::endl; return 0; }
With boost 1.41 I get: result_size: 1 With 1.44 I get: result_size: 0
Meaning that splitting an empty string now has a new meaning. All I found to this subject was that 1 seems to be the correct answer (http://lists.boost.org/Archives/boost/2005/07/90266.php). Furthermore, there has been, according to the release notes, no change to string algo since the 1.41. This brings me to the question, before I start updating my code, is this change a design decision or an accident?
Thanks,
Christophe _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Done: https://svn.boost.org/trac/boost/ticket/4751 Thanks, Christophe 2010/10/15 Pavol Droba <droba@topmail.sk>:
Hello,
First of all, I would suggest you to post requests such as this to trac. I'm not able to follow the list regularly and a single mail is easy to miss.
I'm not aware about any change that could cause such a result as you describe in between versions 1.41 and 1.44 so I really need to investigate it.
I'll let you know later.
Best Regards, Pavol.
On Thu, 14 Oct 2010 21:54:16 +0200, Christophe Henry <christophe.j.henry@googlemail.com> wrote:
As I got no answer on the user list, I try again. Is the library still maintained?
---------- Forwarded message ---------- From: Christophe Henry <christophe.j.henry@googlemail.com> Date: 2010/10/13 Subject: [String algo] Breaking change between 1.41 and 1.44 in split To: boost-users@lists.boost.org
Hi,
I noticed a breaking change in the split function when the input string is empty. Consider the following example:
#include <string> #include <vector> #include <iostream> #include <boost/algorithm/string/split.hpp> #include <boost/algorithm/string/classification.hpp>
int main() { std::vector<std::string> result; std::string empty_string; boost::algorithm::split( result, empty_string,boost::algorithm::is_any_of( "\t" ),boost::algorithm::token_compress_off); std::cout << "result size: " << result.size() << std::endl; return 0; }
With boost 1.41 I get: result_size: 1 With 1.44 I get: result_size: 0
Meaning that splitting an empty string now has a new meaning. All I found to this subject was that 1 seems to be the correct answer (http://lists.boost.org/Archives/boost/2005/07/90266.php). Furthermore, there has been, according to the release notes, no change to string algo since the 1.41. This brings me to the question, before I start updating my code, is this change a design decision or an accident?
Thanks,
Christophe _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (2)
-
Christophe Henry
-
Pavol Droba