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
#include
int main()
{
std::vectorstd::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