X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParagraphList.h;h=a57deb4eea7b2a7e8582ef7cdedeb1deb62176f0;hb=7eaae7b7ffac7906dff89e4e27c9a5dcd322f3dc;hp=2251875ac9de853042e27f5b887ad2ad75aa5c52;hpb=297b40c7259a552b8f6b164a6e5557820f0fcab7;p=lyx.git diff --git a/src/ParagraphList.h b/src/ParagraphList.h index 2251875ac9..a57deb4eea 100644 --- a/src/ParagraphList.h +++ b/src/ParagraphList.h @@ -1,121 +1,36 @@ // -*- 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 -#define NO_STD_LIST 1 +#include "Paragraph.h" -#ifndef NO_STD_LIST +#include "support/RandomAccessList.h" -#include "paragraph.h" -#include +namespace lyx { -typedef std::list ParagraphList; - -#else - -class Paragraph; - -#include -#include - -/// -class ParagraphList { +/// Container for all kind of Paragraphs used in LyX. +class ParagraphList : public RandomAccessList { 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; + ParagraphList() {} /// - iterator end(); - /// - iterator end() const; - /// - void push_back(Paragraph const &); - /// - Paragraph const & front() const; - /// - Paragraph & front(); - /// - Paragraph const & back() const; - /// - Paragraph & back(); - /// - int size() const; - /// - bool empty() const; -private: - /// - Paragraph * parlist; + template + ParagraphList(InputIterator first, InputIterator last) + : RandomAccessList(first, last) + {} }; - - -typedef std::pair PitPosPair; - - - -/// -bool operator==(ParagraphList::iterator const & i1, - ParagraphList::iterator const & i2); -/// -bool operator!=(ParagraphList::iterator const & i1, - ParagraphList::iterator const & i2); - -#endif +} // namespace lyx #endif