X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferlist.h;h=0b4efadfae45bc043d75968d3b4b03c2dbdfc1bb;hb=e72ef278b8c4b4bc1b0009cb00a1a56c7b02d2e8;hp=1f756a7a7601566f37665de06ea34a4226ebf8cc;hpb=b92c96554385bcbc91262cd9a83766f422552564;p=lyx.git diff --git a/src/bufferlist.h b/src/bufferlist.h index 1f756a7a76..0b4efadfae 100644 --- a/src/bufferlist.h +++ b/src/bufferlist.h @@ -20,6 +20,7 @@ #include "buffer.h" #include "debug.h" +#include /** A class to hold all the buffers in a structure The point of this class is to hide from bufferlist what kind @@ -29,20 +30,22 @@ This class should ideally be enclosed inside class BufferList, but that gave me an "internal gcc error". */ -class BufferStorage { +class BufferStorage : public noncopyable { public: /// - typedef vector Container; + typedef std::vector Container; /// typedef Container::iterator iterator; /// typedef Container::const_iterator const_iterator; /// + typedef Container::size_type size_type; + /// bool empty() const { return container.empty(); } /// void release(Buffer * buf); /// - Buffer * newBuffer(string const & s, LyXRC *, bool = false); + Buffer * newBuffer(string const & s, bool = false); /// Container::iterator begin() { return container.begin(); } /// @@ -56,19 +59,16 @@ public: /// Buffer * operator[](int c) { return container[c]; } /// - int size() const { return container.size(); } + size_type size() const { return container.size(); } private: /// Container container; }; -/** The class governing all the open buffers - This class governs all the currently open buffers. Currently all the buffer - are located in a static array, soon this will change and we will have a - linked list instead. +/** The class govern all open buffers. */ -class BufferList { +class BufferList : public noncopyable { public: /// BufferList(); @@ -108,9 +108,9 @@ public: Buffer * readFile(string const &, bool ro); /// Make a new file (buffer) using a template - Buffer * newFile(string const &, string); + Buffer * newFile(string const &, string, bool isNamed=false); /// returns a vector with all the buffers filenames - vector getFileNames() const; + std::vector const getFileNames() const; /// int unlockInset(UpdatableInset *); @@ -120,11 +120,12 @@ public: /// void emergencyWriteAll(); - - /** closes buffer - Returns false if operation was canceled + + /** Close buffer. + @param buf the buffer that should be closed + @return #false# if operation was canceled */ - bool close(Buffer *); + bool close(Buffer * buf); /// Buffer * first(); @@ -138,7 +139,7 @@ public: /// returns a pointer to the buffer with the given name. Buffer * getBuffer(string const &); /// returns a pointer to the buffer with the given number. - Buffer * getBuffer(int); + Buffer * getBuffer(unsigned int); private: /// @@ -146,6 +147,8 @@ private: /// list_state state_; + /// + void emergencyWrite(Buffer * buf); }; #endif