]> git.lyx.org Git - lyx.git/blobdiff - src/bufferlist.h
* output_plaintext.C: cosmetics in comment: line length cannot be < 0
[lyx.git] / src / bufferlist.h
index c948d1b1ce9cfea1a9abe4fb557c8bde938a684b..350e5fc7da80a6e7a24e8040424b561662be984a 100644 (file)
 #ifndef BUFFER_LIST_H
 #define BUFFER_LIST_H
 
+#include "support/docstring.h"
+
 #include <boost/utility.hpp>
 
-#include <string>
 #include <vector>
 
+
+namespace lyx {
+
 class Buffer;
 class OutputParams;
 
@@ -25,9 +29,19 @@ class OutputParams;
  * and deletions of new ones.
  */
 class BufferList : boost::noncopyable {
+public:
+       typedef std::vector<Buffer *>::iterator iterator;
+       typedef std::vector<Buffer *>::const_iterator const_iterator;
+
 public:
        BufferList();
 
+       iterator begin();
+       const_iterator begin() const;
+
+       iterator end();
+       const_iterator end() const;
+
        /// write all buffers, asking the user, returns false if cancelled
        bool quitWriteAll();
 
@@ -58,6 +72,9 @@ public:
        /// return head of buffer list if any
        Buffer * first();
 
+       /// return back of buffer list if any
+       Buffer * last();
+
        /// returns true if the buffer exists already
        bool exists(std::string const &) const;
 
@@ -84,7 +101,7 @@ public:
        Buffer * previous(Buffer const *) const;
 
        /// reset current author for all buffers
-       void setCurrentAuthor(std::string const & name, std::string const & email);
+       void setCurrentAuthor(docstring const & name, docstring const & email);
 
 private:
        /// ask to save a buffer on quit, returns false if should cancel
@@ -99,6 +116,10 @@ private:
        void emergencyWrite(Buffer * buf);
 };
 
+/// Implementation is in lyx_main.C
 extern BufferList & theBufferList();
 
+
+} // namespace lyx
+
 #endif // BUFFERLIST_H