add: using std::strlen;
context: test_while(    char const *s,    unsigned int wanted,    rule_t const &r,    unsigned int iterations_wanted){    using namespace std;    ++test_count;    number_result = 0;    iterations_performed = 0;    boost::spirit::parse_info<> m = boost::spirit::parse(s, s+strlen(s), r);    bool result = wanted == kError?(m.full?bad:good): (number_result==wanted);    result &= iterations_performed == iterations_wanted;    if (m.full && (m.length != strlen(s)))        result = bad;    if (result==good)        cout << "PASSED";    else    {        ++error_count;        cout << "FAILED";    }    cout << ": \"" << s << "\" ==> ";    if (!m.full)        cout << "<error>";    else        cout << number_result;    cout << "     " << iterations_performed << " of "         << iterations_wanted << " iterations\n";}