#include "support/types.h"
+#include <boost/assert.hpp>
+
#include <string>
class Buffer;
///
bool simpleTeXOnePar(Buffer const &, BufferParams const &,
LyXFont const & outerfont, std::ostream &,
- TexRow & texrow, OutputParams const &);
+ TexRow & texrow, OutputParams const &) const;
///
void simpleLinuxDocOnePar(Buffer const & buf,
*/
lyx::pos_type getEndPosOfFontSpan(lyx::pos_type pos) const;
///
- value_type getChar(lyx::pos_type pos) const;
+ /// this is a bottleneck.
+ value_type getChar(lyx::pos_type pos) const
+ {
+ BOOST_ASSERT(pos >= 0);
+ BOOST_ASSERT(pos < int(text_.size()));
+ return text_[pos];
+ }
///
value_type getUChar(BufferParams const &, lyx::pos_type pos) const;
/// The position must already exist.
void insert(lyx::pos_type pos, std::string const & str,
LyXFont const & font);
///
- void insertChar(lyx::pos_type pos, value_type c);
+ void insertChar(lyx::pos_type pos, value_type c,
+ Change change = Change(Change::INSERTED));
///
void insertChar(lyx::pos_type pos, value_type c,
LyXFont const &, Change change = Change(Change::INSERTED));
///
bool checkInsertChar(LyXFont &);
///
- void insertInset(lyx::pos_type pos, InsetBase * inset);
+ void insertInset(lyx::pos_type pos, InsetBase * inset,
+ Change change = Change(Change::INSERTED));
///
void insertInset(lyx::pos_type pos, InsetBase * inset,
LyXFont const &, Change change = Change(Change::INSERTED));