#ifndef CONCORDIA_INDEX_HDR #define CONCORDIA_INDEX_HDR #include #include #include #include #include "concordia/hash_generator.hpp" #include "concordia/concordia_exception.hpp" #include "build/libdivsufsort/include/divsufsort.h" /*! Class for creating and maintaining the index. */ using namespace std; class ConcordiaIndex { public: explicit ConcordiaIndex(const string & wordMapFilePath, const string & hashedIndexFilePath, const string & suffixArrayFilePath) throw(ConcordiaException); /*! Destructor. */ virtual ~ConcordiaIndex(); void addSentence(const string & sentence); void serializeWordMap(); void generateSuffixArray(); private: boost::shared_ptr _hashGenerator; string _hashedIndexFilePath; string _suffixArrayFilePath; }; #endif