#define BUFFER_FUNCS_H
#include "lyxlayout_ptr_fwd.h"
+#include "support/docstring.h"
#include <string>
+namespace lyx {
+
+
class Buffer;
class DocIterator;
class ErrorList;
///return the format of the buffer on a string
std::string const bufferFormat(Buffer const & buffer);
-///
-void bufferErrors(Buffer const &, TeXErrors const &);
-///
-void bufferErrors(Buffer const &, ErrorList const &);
+
+/// Fill in the ErrorList with the TeXErrors
+void bufferErrors(Buffer const &, TeXErrors const &, ErrorList &);
/// Count the number of words in the text between these two iterators
int countWords(DocIterator const & from, DocIterator const & to);
/// Expand the counters for the labelstring of \c layout
-std::string expandLabel(Buffer const & buf, LyXLayout_ptr const & layout,
- bool appendix);
+lyx::docstring expandLabel(Buffer const & buf,
+ LyXLayout_ptr const & layout,
+ bool appendix);
+
-/// updates current counter and/or label if possible.
+/// update labels at "iter".
/**
-\retval true if a full updateCounters is required.
-\retval false if a full updateCounters is not required.
+A full updateLabels(Buffer const &) will be called if not possible.
*/
-bool needsUpdateCounters(Buffer const & buf, ParIterator & it);
+void updateLabels(Buffer const & buf, ParIterator & it);
+
+/// update labels between "from" and "to" if possible.
+/**
+A full updateLabels(Buffer const &) will be called if not possible.
+*/
+void updateLabels(Buffer const & buf,
+ ParIterator & from, ParIterator & to);
/// updates all counters
-void updateCounters(Buffer const &);
+void updateLabels(Buffer const &);
+
+} // namespace lyx
#endif // BUFFER_FUNCS_H