]> git.lyx.org Git - lyx.git/blobdiff - src/ParagraphList.h
"Inter-word Space"
[lyx.git] / src / ParagraphList.h
index a4bba61552756bdcc2276293731e5dc82c29ac12..95cacfb2c92be5cf44ac846de843cb5464e33f5e 100644 (file)
@@ -3,7 +3,7 @@
 #ifndef PARAGRAPH_LIST_H
 #define PARAGRAPH_LIST_H
 
-#define NO_STD_LIST 1
+//#define NO_STD_LIST 1
 
 #ifndef NO_STD_LIST
 
 
 #include <list>
 
-typedef std::list<Paragraph> ParagraphList;
+struct ParagraphList : public std::list<Paragraph>
+{
+};
+
+typedef std::pair<ParagraphList::iterator, int> PitPosPair;
 
 #else
 
@@ -58,6 +62,40 @@ public:
                Paragraph * ptr;
        };
        ///
+       class const_iterator {
+       public:
+               friend class ParagraphList;
+               ///
+               typedef std::bidirectional_iterator_tag iterator_category;
+               ///
+               typedef Paragraph * value_type;
+               ///
+               typedef ptrdiff_t difference_type;
+               ///
+               typedef Paragraph const * const_pointer;
+               ///
+               typedef Paragraph const & const_reference;
+               ///
+               const_iterator();
+               ///
+               const_reference operator*();
+               ///
+               const_pointer operator->();
+               ///
+               const_iterator & operator++();
+               ///
+               const_iterator operator++(int);
+               ///
+               const_iterator & operator--();
+               ///
+               const_iterator operator--(int);
+       private:
+               ///
+               const_iterator(value_type);
+               ///
+               Paragraph * ptr;
+       };
+       ///
        ParagraphList();
        ///
        ParagraphList(ParagraphList const &);
@@ -80,11 +118,11 @@ public:
        ///
        iterator begin();
        ///
-       iterator begin() const;
+       const_iterator begin() const;
        ///
        iterator end();
        ///
-       iterator end() const;
+       const_iterator end() const;
        ///
        void push_back(Paragraph const &);
        ///
@@ -99,8 +137,6 @@ public:
        int size() const;
        ///
        bool empty() const;
-       ///
-       iterator find(Paragraph const &);
 private:
        ///
        Paragraph * parlist;
@@ -119,6 +155,13 @@ bool operator==(ParagraphList::iterator const & i1,
 bool operator!=(ParagraphList::iterator const & i1,
                ParagraphList::iterator const & i2);
 
+///
+bool operator==(ParagraphList::const_iterator const & i1,
+               ParagraphList::const_iterator const & i2);
+///
+bool operator!=(ParagraphList::const_iterator const & i1,
+               ParagraphList::const_iterator const & i2);
+
 #endif
 
 #endif