+#include <boost/optional.hpp>
+
+#include <vector>
+
+class LyXText;
+class InsetBase;
+class Cursor;
+class Buffer;
+class PosIterator;
+
+
+class ParPosition {
+public:
+ ///
+ ParPosition(ParagraphList::iterator p, ParagraphList const & pl);
+ ///
+ ParagraphList::iterator pit;
+ ///
+ ParagraphList const * plist;
+ ///
+ boost::optional<InsetList::iterator> it;
+ ///
+ boost::optional<int> index;
+};
+
+
+class ParIterator : public std::iterator<
+ std::forward_iterator_tag,
+ ParagraphList::value_type> {