Here is the problem:
I want to find a simple regular _expression something like
\\d\\d\\d\\d\\d\\d in a large file (15 mb) using VC++ 7.1 .
I use Spirit's File Iterator as the input iterator for the search algorithm.
After some seven thousands hits the match algo throughs the memory exhausted exception.
So I cought the exception and moved the iterator by one, printed the location it points to in my searched file to view the problematic section for the regex find algorithm.
After the "problematic section" of some 300 chars ends the algorithm keeps working fine.
here is the code.
//-------------------------------------------------------------------------------------------
void TheFunction()
{
//print the problematic section here
ofstream of;
of.open("d:\\err1.txt");
boost::spirit::file_iterator< > begin("d:\\log1.txt");
boost::spirit::file_iterator<> beginning_saved(begin); //save the beginning in order to compare later
boost::spirit::file_iterator< > ending;
ending= begin.make_end();
boost::match_results