#include "support/types.h"
-#include <boost/assert.hpp>
-
#include <string>
+#include <utility>
class Buffer;
class BufferParams;
class PainterInfo;
class ParagraphParameters;
class TexRow;
-class UpdatableInset;
+
/// A Paragraph holds all text, attributes and insets in a text paragraph
class Paragraph {
Paragraph & operator=(Paragraph const &);
///
~Paragraph();
-
///
int id() const;
void makeSameLayout(Paragraph const & par);
///
- void setInsetOwner(UpdatableInset * inset);
+ void setInsetOwner(InsetBase * inset);
///
- UpdatableInset * inInset() const;
+ InsetBase * inInset() const;
///
InsetBase::Code ownerCode() const;
///
LyXFont const & outerfont) const;
/**
* The font returned by the above functions is the same in a
- * span of characters. This method will return the last position
- * in the paragraph for which that font is the same.
- * This can be used to avoid unnecessary calls to getFont.
+ * span of characters. This method will return the first and
+ * the last last positions in the paragraph for which that
+ * font is the same. This can be used to avoid unnecessary
+ * calls to getFont.
*/
- lyx::pos_type getEndPosOfFontSpan(lyx::pos_type pos) const;
+ std::pair<lyx::pos_type, lyx::pos_type> getFontSpan(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 getChar(lyx::pos_type pos) const { return text_[pos]; }
/// Get the char, but mirror all bracket characters if it is right-to-left
value_type getUChar(BufferParams const &, lyx::pos_type pos) const;
/// The position must already exist.
/// return true if we allow this par to stay empty
bool allowEmpty() const;
- ///
+ ///
unsigned char transformChar(unsigned char c, lyx::pos_type pos) const;
///
ParagraphParameters & params();