concordia-library/concordia/hash_generator.hpp

43 lines
880 B
C++
Raw Normal View History

2013-11-12 16:58:31 +01:00
#ifndef HASH_GENERATOR_HDR
#define HASH_GENERATOR_HDR
#include <string>
#include <map>
#include <vector>
2013-11-14 15:44:50 +01:00
#include <boost/shared_ptr.hpp>
#include <boost/algorithm/string/predicate.hpp>
2013-11-14 15:44:50 +01:00
#include "concordia/word_map.hpp"
#include "concordia/common/config.hpp"
2013-11-12 22:08:37 +01:00
#include "concordia/concordia_exception.hpp"
2013-11-12 16:58:31 +01:00
2013-11-20 17:43:29 +01:00
2013-11-12 16:58:31 +01:00
/*!
Class for generating a sentence hash.
*/
using namespace std;
class HashGenerator {
public:
2013-11-14 20:36:34 +01:00
explicit HashGenerator(const string & wordMapFilePath)
2013-11-14 15:44:50 +01:00
throw(ConcordiaException);
2013-11-12 16:58:31 +01:00
/*! Destructor.
*/
virtual ~HashGenerator();
boost::shared_ptr<vector<INDEX_CHARACTER_TYPE> >
generateHash(const string & sentence)
throw(ConcordiaException);
2013-11-12 16:58:31 +01:00
void serializeWordMap();
private:
2013-11-14 15:44:50 +01:00
boost::shared_ptr<WordMap> _wordMap;
2013-11-12 16:58:31 +01:00
2013-11-14 20:36:34 +01:00
string _wordMapFilePath;
2013-11-12 16:58:31 +01:00
};
#endif