8#ifndef RIME_VOCABULARY_H_
9#define RIME_VOCABULARY_H_
21class Code :
public vector<SyllableId> {
24 Code(
const Code::const_iterator& begin,
const Code::const_iterator& end)
73 void SortRange(
size_t start,
size_t count);
79 void SortRange(
size_t start,
size_t count);
#define RIME_DLL
Definition rime_api.h:33
std::shared_ptr< T > an
Definition common.h:60
set< string > Syllabary
Definition vocabulary.h:17
function< bool(an< DictEntry > entry)> DictEntryFilter
Definition vocabulary.h:82
boost::unordered_map< Key, T > hash_map
Definition common.h:53
int32_t SyllableId
Definition syllabifier.h:21
hash_map< string, set< string > > ReverseLookupTable
Definition vocabulary.h:107
Definition vocabulary.h:21
Code(const Code::const_iterator &begin, const Code::const_iterator &end)
Definition vocabulary.h:24
static const size_t kIndexCodeMaxLength
Definition vocabulary.h:27
bool operator==(const Code &other) const
Definition vocabulary.cc:25
void CreateIndex(Code *index_code)
Definition vocabulary.cc:35
string ToString() const
Definition vocabulary.cc:46
bool operator<(const Code &other) const
Definition vocabulary.cc:15
Definition vocabulary.h:37
bool operator<(const ShortDictEntry &other) const
Definition vocabulary.cc:60
double weight
Definition vocabulary.h:40
string text
Definition vocabulary.h:38
Code code
Definition vocabulary.h:39
Definition vocabulary.h:46
bool IsExactMatch() const
Definition vocabulary.h:61
int remaining_code_length
Definition vocabulary.h:56
int matching_code_size
Definition vocabulary.h:57
double weight
Definition vocabulary.h:52
string custom_code
Definition vocabulary.h:51
double quality_len
Definition vocabulary.h:54
string comment
Definition vocabulary.h:48
ShortDictEntry ToShort() const
Definition vocabulary.h:60
string preedit
Definition vocabulary.h:49
bool operator<(const DictEntry &other) const
Definition vocabulary.cc:68
string text
Definition vocabulary.h:47
bool IsPredictiveMatch() const
Definition vocabulary.h:64
int commit_count
Definition vocabulary.h:55
Code code
Definition vocabulary.h:50
Definition vocabulary.h:70
void Sort()
Definition vocabulary.cc:96
void SortRange(size_t start, size_t count)
Definition vocabulary.cc:100
Definition vocabulary.h:76
void SortRange(size_t start, size_t count)
Definition vocabulary.cc:108
void Sort()
Definition vocabulary.cc:104
Definition vocabulary.h:84
virtual void AddFilter(DictEntryFilter filter)
Definition vocabulary.cc:112
virtual ~DictEntryFilterBinder()=default
DictEntryFilter filter_
Definition vocabulary.h:90
Definition vocabulary.h:95
an< Vocabulary > next_level
Definition vocabulary.h:97
ShortDictEntryList entries
Definition vocabulary.h:96
Definition vocabulary.h:100
ShortDictEntryList * LocateEntries(const Code &code)
Definition vocabulary.cc:123
void SortHomophones()
Definition vocabulary.cc:143