7#ifndef RIME_DICTIONARY_H_
8#define RIME_DICTIONARY_H_
40 bool Skip(
size_t num_entries);
49 size_t chunk_index_ = 0;
51 size_t entry_count_ = 0;
78 bool predict_word =
false,
79 double initial_credibility = 0.0);
84 const string& str_code,
91 const string&
name()
const {
return name_; }
94 const vector<string>&
packs()
const {
return packs_; }
95 const vector<of<Table>>&
tables()
const {
return tables_; }
101 vector<string> packs_;
102 vector<of<Table>> tables_;
106class ResourceResolver;
113 Dictionary*
Create(
string dict_name,
string prism_name, vector<string> packs);
116 map<string, weak<Prism>> prism_map_;
117 map<string, weak<Table>> table_map_;
#define RIME_DLL
Definition rime_api.h:33
std::shared_ptr< T > an
Definition common.h:60
map< size_t, DictEntryIterator > DictEntryCollector
Definition dictionary.h:54
function< bool(an< DictEntry > entry)> DictEntryFilter
Definition vocabulary.h:82
std::unique_ptr< T > the
Definition common.h:58
boost::unordered_set< T > hash_set
Definition common.h:55
an< T > of
Definition common.h:62
Definition dictionary.cc:19
Definition syllabifier.h:39
Definition component.h:21
Definition config_component.h:21
Definition corrector.h:94
Definition dictionary.cc:21
Definition dictionary.cc:69
Definition dictionary.h:26
bool Skip(size_t num_entries)
Definition dictionary.cc:204
an< DictEntry > Peek()
Definition dictionary.cc:153
void AddFilter(DictEntryFilter filter) override
Definition dictionary.cc:143
bool Next()
Definition dictionary.cc:193
DictEntryIterator(DictEntryIterator &&other)=default
virtual ~DictEntryIterator()=default
void AddChunk(dictionary::Chunk &&chunk)
Definition dictionary.cc:130
DictEntryIterator(const DictEntryIterator &other)=default
DictEntryIterator & operator=(const DictEntryIterator &other)=default
DictEntryIterator()
Definition dictionary.cc:127
DictEntryIterator & operator=(DictEntryIterator &&other)=default
bool exhausted() const
Definition dictionary.cc:219
void Sort()
Definition dictionary.cc:135
size_t entry_count() const
Definition dictionary.h:42
Definition dictionary.h:62
const string & name() const
Definition dictionary.h:91
RIME_DLL Dictionary(string name, vector< string > packs, vector< of< Table > > tables, an< Prism > prism)
Definition dictionary.cc:225
const an< Table > & primary_table() const
Definition dictionary.h:96
RIME_DLL an< DictEntryCollector > Lookup(const SyllableGraph &syllable_graph, size_t start_pos, const hash_set< string > *blacklist=nullptr, bool predict_word=false, double initial_credibility=0.0)
Definition dictionary.cc:271
const an< Prism > & prism() const
Definition dictionary.h:97
RIME_DLL bool Remove()
Definition dictionary.cc:369
RIME_DLL bool loaded() const
Definition dictionary.cc:405
RIME_DLL size_t LookupWords(DictEntryIterator *result, const string &str_code, bool predictive, size_t limit=0, const hash_set< string > *blacklist=nullptr)
Definition dictionary.cc:299
bool Exists() const
Definition dictionary.cc:364
const vector< string > & packs() const
Definition dictionary.h:94
RIME_DLL bool Load()
Definition dictionary.cc:379
const vector< of< Table > > & tables() const
Definition dictionary.h:95
RIME_DLL bool Decode(const Code &code, vector< string > *result)
Definition dictionary.cc:351
Dictionary * Create(const Ticket &ticket) override
Definition dictionary.cc:425
DictionaryComponent()
Definition dictionary.cc:415
Definition vocabulary.h:21
Definition vocabulary.h:84