#include <vector>
-class InsetBase;
-class Buffer;
+namespace lyx {
+
+class Inset;
+class Buffer;
///
class InsetList {
public:
///
- struct InsetTable {
+ class InsetTable {
+ public:
///
- lyx::pos_type pos;
+ InsetTable(pos_type p, Inset * i) : pos(p), inset(i) {}
///
- InsetBase * inset;
+ pos_type pos;
///
- InsetTable(lyx::pos_type p, InsetBase * i) : pos(p), inset(i) {}
+ Inset * inset;
};
///
typedef std::vector<InsetTable> List;
///
~InsetList();
///
- iterator begin() { return list.begin(); }
+ iterator begin() { return list_.begin(); }
///
- iterator end() { return list.end(); }
+ iterator end() { return list_.end(); }
///
- const_iterator begin() const { return list.begin(); }
+ const_iterator begin() const { return list_.begin(); }
///
- const_iterator end() const { return list.end(); }
+ const_iterator end() const { return list_.end(); }
///
- bool empty() const { return list.empty(); }
+ bool empty() const { return list_.empty(); }
///
- iterator insetIterator(lyx::pos_type pos);
+ iterator insetIterator(pos_type pos);
///
- const_iterator insetIterator(lyx::pos_type pos) const;
+ const_iterator insetIterator(pos_type pos) const;
///
- void insert(InsetBase * inset, lyx::pos_type pos);
+ void insert(Inset * inset, pos_type pos);
///
- void erase(lyx::pos_type pos);
+ void erase(pos_type pos);
///
- InsetBase * release(lyx::pos_type);
+ Inset * release(pos_type);
///
- InsetBase * get(lyx::pos_type pos) const;
+ Inset * get(pos_type pos) const;
///
- void increasePosAfterPos(lyx::pos_type pos);
+ void increasePosAfterPos(pos_type pos);
///
- void decreasePosAfterPos(lyx::pos_type pos);
+ void decreasePosAfterPos(pos_type pos);
+
+ /// replicate ourselves.
+ /// Warning: this should be used with care, only
+ /// Paragraph::Pimpl should use it actually.
+ void clone();
private:
///
- List list;
+ List list_;
};
+
+} // namespace lyx
+
#endif