+ ///
+ explicit DocIterator(Buffer *buf);
+
+ /// access to owning buffer
+ Buffer * buffer() const { return buffer_; }
+ /// access to owning buffer
+ void setBuffer(Buffer * buf) { buffer_ = buf; }
+
+ /// Clone this for given \p buffer.
+ /// \p buffer must be a clone of buffer_.
+ DocIterator clone(Buffer * buffer) const;