// -*- C++ -*-
+/**
+ * \file InsetList.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef INSET_LIST_H
#define INSET_LIST_H
#include "support/types.h"
+#include <vector>
-class Inset;
-class BufferView;
+class InsetBase;
+class Buffer;
///
///
lyx::pos_type pos;
///
- Inset * inset;
+ InsetBase * inset;
///
- InsetTable(lyx::pos_type p, Inset * i) : pos(p), inset(i) {}
+ InsetTable(lyx::pos_type p, InsetBase * i) : pos(p), inset(i) {}
};
///
typedef std::vector<InsetTable> List;
-
///
- class iterator {
- public:
- ///
- iterator() {}
- //
- iterator(List::iterator const & iter);
- ///
- iterator & operator++();
- ///
- iterator operator++(int);
- ///
- lyx::pos_type getPos() const;
- ///
- Inset * getInset() const;
- ///
- void setInset(Inset * inset);
- ///
- friend bool operator==(iterator const &, iterator const &);
- private:
- ///
- List::iterator it;
- };
+ typedef List::iterator iterator;
+ ///
+ typedef List::const_iterator const_iterator;
+
///
~InsetList();
///
- iterator begin();
+ iterator begin() { return list_.begin(); }
+ ///
+ iterator end() { return list_.end(); }
///
- iterator end();
+ const_iterator begin() const { return list_.begin(); }
///
- iterator begin() const;
+ const_iterator end() const { return list_.end(); }
///
- iterator end() const;
+ bool empty() const { return list_.empty(); }
///
iterator insetIterator(lyx::pos_type pos);
///
- void insert(Inset * inset, lyx::pos_type pos);
+ const_iterator insetIterator(lyx::pos_type pos) const;
+ ///
+ void insert(InsetBase * inset, lyx::pos_type pos);
///
void erase(lyx::pos_type pos);
///
- Inset * release(lyx::pos_type);
+ InsetBase * release(lyx::pos_type);
///
- Inset * get(lyx::pos_type pos) const;
+ InsetBase * get(lyx::pos_type pos) const;
///
void increasePosAfterPos(lyx::pos_type pos);
///
void decreasePosAfterPos(lyx::pos_type pos);
- ///
- void deleteInsetsLyXText(BufferView * bv);
- ///
- void resizeInsetsLyXText(BufferView * bv);
+
private:
///
- List list;
+ List list_;
};
-///
-bool operator==(InsetList::iterator const & i1,
- InsetList::iterator const & i2);
-///
-bool operator!=(InsetList::iterator const & i1,
- InsetList::iterator const & i2);
-
#endif