/* * EntryBuffer.h * * Created on: 2014Äê7ÔÂ3ÈÕ * Author: hanshuo */ #ifndef ENTRYBUFFER_H_ #define ENTRYBUFFER_H_ class SigEntry; #include /* EntryBuffer is used to loading entries from hard disk when building VSTree. */ class EntryBuffer { private: int capacity; int num; SigEntry* elems; public: static int DEFAULT_CAPACITY; EntryBuffer(int _capacity=200000); // to be determine the default capacity. ~EntryBuffer(); int getCapacity()const; int getNum()const; bool isEmpty()const; bool isFull()const; SigEntry* getElem(int _i); bool insert(const SigEntry& _entry); int fillElemsFromFile(FILE* _p_file); // fill this buffer with SigEntry from _p_file, until the buffer is full or meeting EOF. void clear(); }; #endif /* ENTRYBUFFER_H_ */