* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef INSET_LIST_H
#define INSET_LIST_H
+#include "insets/InsetCode.h"
+
#include "support/types.h"
#include <vector>
///
class InsetList {
public:
+ ///
+ InsetList() {}
+ ///
+ InsetList(InsetList const &);
+ /// Partial copy constructor.
+ /// Copy the InsetList contents from \p beg to \p end (without end).
+ InsetList(InsetList const &, pos_type beg, pos_type end);
+ ///
+ void setBuffer(Buffer &);
+
///
class InsetTable {
public:
///
void decreasePosAfterPos(pos_type pos);
- /// replicate ourselves.
- /// Warning: this should be used with care, only
- /// Paragraph::Pimpl should use it actually.
- void clone();
+ /// search for next occurence of an \c Inset type.
+ /// \return the position of the found inset.
+ /// \retval -1 if no \c Inset is found.
+ pos_type find(
+ InsetCode code, ///< Code of inset to find.
+ pos_type startpos = 0 ///< start position for the search.
+ ) const;
+
+ /// count occurences of of an \c Inset type.
+ /// \return the number of found inset(s).
+ int count(
+ InsetCode code, ///< Code of inset type to count.
+ pos_type startpos = 0 ///< start position for the counting.
+ ) const;
private:
///