diff options
Diffstat (limited to 'src/dict.h')
-rw-r--r-- | src/dict.h | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/src/dict.h b/src/dict.h deleted file mode 100644 index bae9debe..00000000 --- a/src/dict.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef DICT_H_ -#define DICT_H_ - -#include <cassert> -#include <cstring> -#include <tr1/unordered_map> -#include <string> -#include <vector> - -#include <boost/functional/hash.hpp> - -#include "wordid.h" - -class Dict { - typedef std::tr1::unordered_map<std::string, WordID, boost::hash<std::string> > Map; - public: - Dict() : b0_("<bad0>") { words_.reserve(1000); } - inline int max() const { return words_.size(); } - inline WordID Convert(const std::string& word) { - Map::iterator i = d_.find(word); - if (i == d_.end()) { - words_.push_back(word); - d_[word] = words_.size(); - return words_.size(); - } else { - return i->second; - } - } - inline const std::string& Convert(const WordID& id) const { - if (id == 0) return b0_; - assert(id <= words_.size()); - return words_[id-1]; - } - private: - const std::string b0_; - std::vector<std::string> words_; - Map d_; -}; - -#endif |