]> git.lyx.org Git - lyx.git/blobdiff - src/ParagraphList.h
Account for old versions of Pygments
[lyx.git] / src / ParagraphList.h
index 9f049bf895c952075fe3776bb9e1b1abe1b84191..a57deb4eea7b2a7e8582ef7cdedeb1deb62176f0 100644 (file)
 // -*- C++ -*-
+/**
+ * \file ParagraphList.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS.
+ */
 
 #ifndef PARAGRAPH_LIST_H
 #define PARAGRAPH_LIST_H
 
-#include <iterator>
-#include <utility>
+#include "Paragraph.h"
 
-class Paragraph;
+#include "support/RandomAccessList.h"
 
-///
-class ParagraphList {
+
+namespace lyx {
+
+/// Container for all kind of Paragraphs used in LyX.
+class ParagraphList : public RandomAccessList<Paragraph> {
 public:
        ///
-       class iterator {
-       public:
-               ///
-               typedef std::bidirectional_iterator_tag iterator_category;
-               ///
-               typedef Paragraph * value_type;
-               ///
-               typedef ptrdiff_t difference_type;
-               ///
-               typedef Paragraph * pointer;
-               ///
-               typedef Paragraph & reference;
-               ///
-               iterator();
-               ///
-               iterator(value_type);
-               ///
-               reference operator*();
-               ///
-               pointer operator->();
-               ///
-               iterator & operator++();
-               ///
-               iterator operator++(int);
-               ///
-               iterator & operator--();
-               ///
-               iterator operator--(int);
-       private:
-               ///
-               Paragraph * ptr;
-       };
-       ///
-       ParagraphList();
-       ///
-       ParagraphList(ParagraphList const &);
-       ///
-       ParagraphList & operator=(ParagraphList const &);
-       ///
-       iterator insert(iterator it, Paragraph * par);
-       ///
-       void insert(iterator pos, iterator beg, iterator end);
-       ///
-       void assign(iterator beg, iterator end);
-       ///
-       void splice(iterator pos, ParagraphList & pl);
-       ///
-       void clear();
-       ///
-       iterator erase(iterator it);
-       ///
-       iterator erase(iterator first, iterator last);
-       ///
-       iterator begin();
-       ///
-       iterator begin() const;
-       ///
-       iterator end();
+       ParagraphList() {}
        ///
-       iterator end() const;
-       ///
-       void set(Paragraph *);
-       ///
-       void push_back(Paragraph *);
-       ///
-       Paragraph const & front() const;
-       ///
-       Paragraph & front();
-       ///
-       Paragraph const & back() const;
-       ///
-       Paragraph & back();
-       ///
-       int size() const;
-       ///
-       bool empty() const;
-private:
-       ///
-       Paragraph * parlist;
+       template<class InputIterator>
+       ParagraphList(InputIterator first, InputIterator last)
+               : RandomAccessList<Paragraph>(first, last)
+       {}
 };
 
-
-
-typedef std::pair<ParagraphList::iterator, int> PitPosPair;
-
-
-
-///
-bool operator==(ParagraphList::iterator const & i1,
-               ParagraphList::iterator const & i2);
-///
-bool operator!=(ParagraphList::iterator const & i1,
-               ParagraphList::iterator const & i2);
-
+} // namespace lyx
 
 #endif