-bool isParEnd(Paragraph const & par, RowList::iterator rit)
-{
-#if 0
- if ((boost::next(rit) == par.rows.end()) != (rit->end() >= par.size())) {
- lyxerr << endl;
- lyxerr << "broken row 1: end: " << rit->end() << " next: "
- << boost::next(rit)->pos() << endl;
- lyxerr << endl;
- Assert(false);
- }
-#endif
- return boost::next(rit) == par.rows.end();
-}
-
-
-pos_type lastPos(Paragraph const & par, RowList::iterator rit)
-{
- if (par.empty())
- return 0;
-
- if (isParEnd(par, rit))
- return par.size() - 1;
-
- if (1 && boost::next(rit)->pos() != rit->end()) {
- lyxerr << endl;
- lyxerr << "broken row 2: end: " << rit->end() << " next: "
- << boost::next(rit)->pos() << endl;
- lyxerr << endl;
- Assert(false);
- }
- return boost::next(rit)->pos() - 1;
-}
-
-
-pos_type lastPrintablePos(Paragraph const & par, RowList::iterator rit)
-{
- pos_type const last = lastPos(par, rit);
-
- // if this row is an end of par, just act like lastPos()
- if (isParEnd(par, rit))
- return last;
-
- return last;
-}
-
-
-int numberOfSeparators(Paragraph const & par, RowList::iterator rit)