- This class should ideally be enclosed inside class BufferList, but that
- gave me an "internal gcc error".
- */
-class BufferStorage : public noncopyable {
-public:
- ///
- typedef std::vector<Buffer *> Container;
- ///
- typedef Container::iterator iterator;
- ///
- typedef Container::const_iterator const_iterator;
- ///
- bool empty() const { return container.empty(); }
- ///
- void release(Buffer * buf);
- ///
- Buffer * newBuffer(string const & s, bool = false);
- ///
- Container::iterator begin() { return container.begin(); }
- ///
- Container::iterator end() { return container.end(); }
- ///
- Container::const_iterator begin() const { return container.begin(); }
- ///
- Container::const_iterator end() const { return container.end(); }
- ///
- Buffer * front() { return container.front(); }
- ///
- Buffer * operator[](int c) { return container[c]; }
- ///
- int size() const { return container.size(); }
-private:
- ///
- Container container;
-};