+ ///
+ typedef std::vector<std::pair<Inset *, ParIterator> > References;
+ References & references(docstring const & label);
+ References const & references(docstring const & label) const;
+ void clearReferenceCache() const;
+ void setInsetLabel(docstring const & label, InsetLabel const * il);
+ InsetLabel const * insetLabel(docstring const & label) const;
+
+ /// return a list of all used branches (also in children)
+ void getUsedBranches(std::list<docstring> &, bool const from_master = false) const;
+
+ /// sets the buffer_ member for every inset in this buffer.
+ // FIXME This really shouldn't be needed, but at the moment it's not
+ // clear how to do it just for the individual pieces we need.
+ void setBuffersForInsets() const;
+ /// Updates screen labels and some other information associated with
+ /// insets and paragraphs. Actually, it's more like a general "recurse
+ /// through the Buffer" routine, that visits all the insets and paragraphs.
+ void updateBuffer() const { updateBuffer(UpdateMaster, InternalUpdate); }
+ /// \param scope: whether to start with the master document or just
+ /// do this one.
+ /// \param output: whether we are preparing for output.
+ void updateBuffer(UpdateScope scope, UpdateType utype) const;