]> git.lyx.org Git - lyx.git/blobdiff - src/ParagraphList.h
Move <QTimer> from TocWidget.h
[lyx.git] / src / ParagraphList.h
index 6cb7da38c194314fe55bdfe167abef239aaba032..7e5cc1a869ff50b54150f09d1c85d2448731ba9c 100644 (file)
@@ -4,7 +4,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Angus Leeming
  *
  * Full author contact details are available in file CREDITS.
  */
 #ifndef PARAGRAPH_LIST_H
 #define PARAGRAPH_LIST_H
 
-#include "paragraph.h"
+#include "Paragraph.h"
 
-#include <list>
+#include "support/RandomAccessList.h"
 
-struct ParagraphList : public std::list<Paragraph>
-{
+
+namespace lyx {
+
+/// Container for all kind of Paragraphs used in LyX.
+class ParagraphList : public RandomAccessList<Paragraph> {
+public:
+       ///
+       ParagraphList() {}
+       ///
+       template<class InputIterator>
+       ParagraphList(InputIterator first, InputIterator last)
+               : RandomAccessList<Paragraph>(first, last)
+       {}
+
+       const Paragraph * getParagraphBefore(const_iterator const & par) const
+       {
+               // No previous paragraph.
+               if (par == begin())
+                       return nullptr;
+
+               auto prevpar = par;
+               --prevpar;
+               return &*prevpar;
+       }
 };
 
-typedef std::pair<ParagraphList::iterator, int> PitPosPair;
+} // namespace lyx
 
 #endif