#include "support/docstring.h"
-#include <boost/utility.hpp>
-
#include <vector>
* The class holds all all open buffers, and handles construction
* and deletions of new ones.
*/
-class BufferList : boost::noncopyable {
+class BufferList {
public:
typedef std::vector<Buffer *>::iterator iterator;
typedef std::vector<Buffer *>::const_iterator const_iterator;
iterator end();
const_iterator end() const;
- /// write all buffers, asking the user, returns false if cancelled
- bool quitWriteAll();
-
/// create a new buffer
+ /// \return 0 if the Buffer creation is not possible for whatever reason.
Buffer * newBuffer(std::string const & s, bool ronly = false);
/// delete a buffer
/// emergency save for all buffers
void emergencyWriteAll();
- /// close buffer. Returns false if cancelled by user
- bool close(Buffer * buf, bool ask);
-
/// return true if no buffers loaded
bool empty() const;
/// returns true if the buffer is loaded
bool isLoaded(Buffer const * b) const;
+ /// return index of named buffer in buffer list
+ int bufferNum(std::string const & name) const;
/// returns a pointer to the buffer with the given name.
Buffer * getBuffer(std::string const &);
/// returns a pointer to the buffer with the given number.
void setCurrentAuthor(docstring const & name, docstring const & email);
private:
- /// ask to save a buffer on quit, returns false if should cancel
- bool quitWriteBuffer(Buffer * buf);
+ /// noncopiable
+ BufferList(BufferList const &);
+ void operator=(BufferList const &);
typedef std::vector<Buffer *> BufferStorage;