+ ///
+ void checkMasterBuffer();
+
+ /// If the document is being saved to a new location and the named file
+ /// exists at the old location, return its updated path relative to the
+ /// new buffer path if possible, otherwise return its absolute path.
+ /// In all other cases, this is a no-op and name is returned unchanged.
+ /// If a non-empty ext is given, the existence of name.ext is checked
+ /// but the returned path will not contain this extension.
+ /// Similarly, when loading a document that was moved from the location
+ /// where it was saved, return the correct path relative to the new
+ /// location.
+ std::string includedFilePath(std::string const & name,
+ std::string const & ext = empty_string()) const;
+
+ /// compute statistics between \p from and \p to
+ /// \p from initial position
+ /// \p to points to the end position
+ /// \p skipNoOutput if notes etc. should be ignored
+ void updateStatistics(DocIterator & from, DocIterator & to,
+ bool skipNoOutput = true) const;
+ /// statistics accessor functions
+ int wordCount() const;
+ int charCount(bool with_blanks) const;
+
+ // this is const because it does not modify the buffer's real contents,
+ // only the mutable flag.
+ void setChangesPresent(bool) const;
+ bool areChangesPresent() const;
+ void updateChangesPresent() const;
+ ///
+ void registerBibfiles(support::FileNamePairList const & bf) const;