#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
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 &);
///
iterator begin();
///
- iterator begin() const;
+ const_iterator begin() const;
///
iterator end();
///
- iterator end() const;
+ const_iterator end() const;
///
void push_back(Paragraph const &);
///
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