void JPTPrinter::InvertPageOrder ( const JString& text, ostream& output ) const { JIndex endIndex = text.GetLength() + 1; JIndex startIndex = endIndex - 1; while (text.LocatePrevSubstring(kPageSeparatorStr, kPageSeparatorStrLength, &startIndex)) { const JIndex i = startIndex + kPageSeparatorStrLength; if (endIndex > i) { output.write(text.GetCString() + i-1, endIndex - i); } output << kPageSeparatorStr; endIndex = startIndex; startIndex--; } if (endIndex > 1) { output.write(text.GetCString(), endIndex-1); } }