1 // MeCab -- Yet Another Part-of-Speech and Morphological Analyzer
4 // Copyright(C) 2001-2006 Taku Kudo <taku@chasen.org>
5 // Copyright(C) 2004-2006 Nippon Telegraph and Telephone Corporation
6 #ifndef MECAB_CONTEXT_ID_H
7 #define MECAB_CONTEXT_ID_H
20 std::map<std::string, int> left_;
21 std::map<std::string, int> right_;
22 std::string left_bos_;
23 std::string right_bos_;
27 void add(const char *l, const char *r);
28 void addBOS(const char *l, const char *r);
29 bool save(const char* lfile,
32 bool open(const char *lfile,
35 int lid(const char *l) const;
36 int rid(const char *r) const;
38 size_t left_size() const { return left_.size(); }
39 size_t right_size() const { return right_.size(); }
41 const std::map<std::string, int>& left_ids() const { return left_; }
42 const std::map<std::string, int>& right_ids() const { return right_; }
44 bool is_valid(size_t lid, size_t rid) {
45 return (lid >= 0 && lid < left_size() &&
46 rid >= 0 && rid < right_size());