17#define RIME_TABLE_UNION(U, V, A, a, B, b) \
20 const A& a() const { \
21 return *reinterpret_cast<const A*>(this); \
23 const B& b() const { \
24 return *reinterpret_cast<const B*>(this); \
27 return *reinterpret_cast<A*>(this); \
30 return *reinterpret_cast<B*>(this); \
137 double credibility_ = 0.0;
138 double quality_len_ = 0.0;
150 double credibility = 0.0,
151 double quality_len = 0.0)
const;
155 double credibility = 0.0,
156 double quality_len = 0.0,
218 size_t num_syllables);
223 bool BuildPhraseIndex(
Code code,
225 map<string, int>* index_data);
230 string GetString(
const table::StringType& x);
231 bool AddString(
const string& src, table::StringType* dest,
double weight);
233 bool OnBuildFinish();
#define RIME_DLL
Definition rime_api.h:33
map< int, vector< TableAccessor > > TableQueryResult
Definition table.h:141
std::uint32_t StringId
Definition string_table.h:19
set< string > Syllabary
Definition vocabulary.h:17
std::unique_ptr< T > the
Definition common.h:58
int32_t SyllableId
Definition syllabifier.h:21
List< SyllableId > Code
Definition table.h:46
HeadIndex Index
Definition table.h:85
Array< LongEntry > TailIndex
Definition table.h:77
Array< TrunkIndexNode > TrunkIndex
Definition table.h:75
Array< HeadIndexNode > HeadIndex
Definition table.h:67
float Weight
Definition table.h:48
Array< StringType > Syllabary
Definition table.h:44
RIME_TABLE_UNION(StringType, int32_t, String, str, StringId, str_id)
Definition syllabifier.h:39
Definition mapped_file.h:22
Definition mapped_file.h:53
Definition mapped_file.h:61
Definition mapped_file.h:71
const path & file_path() const
Definition mapped_file.h:121
MappedFile(const path &file_path)
Definition mapped_file.cc:46
StringType text
Definition table.h:51
Weight weight
Definition table.h:52
Entry entry
Definition table.h:57
Code extra_code
Definition table.h:56
List< Entry > entries
Definition table.h:63
OffsetPtr< PhraseIndex > next_level
Definition table.h:64
List< Entry > entries
Definition table.h:71
SyllableId key
Definition table.h:70
OffsetPtr< PhraseIndex > next_level
Definition table.h:72
int32_t reserved_1
Definition table.h:96
static const int kFormatMaxLength
Definition table.h:88
uint32_t dict_file_checksum
Definition table.h:90
uint32_t num_entries
Definition table.h:92
OffsetPtr< char > string_table
Definition table.h:98
uint32_t string_table_size
Definition table.h:99
OffsetPtr< Syllabary > syllabary
Definition table.h:93
uint32_t num_syllables
Definition table.h:91
int32_t reserved_2
Definition table.h:97
OffsetPtr< Index > index
Definition table.h:94
char format[kFormatMaxLength]
Definition table.h:89
const Code & index_code() const
Definition table.h:126
RIME_DLL const table::Code * extra_code() const
Definition table.cc:77
RIME_DLL const table::Entry * entry() const
Definition table.cc:68
RIME_DLL size_t remaining() const
Definition table.cc:61
RIME_DLL bool exhausted() const
Definition table.cc:54
double credibility() const
Definition table.h:128
RIME_DLL bool Next()
Definition table.cc:95
double quality_len() const
Definition table.h:129
Code code() const
Definition table.cc:83
vector< double > quality_len_
Definition table.h:179
size_t level_
Definition table.h:176
double quality_len_sum() const
Definition table.h:170
Code index_code_
Definition table.h:177
double credibility_sum() const
Definition table.h:167
bool Advance(SyllableId syllable_id, double credibility=0.0, double quality_len=0.0, size_t last_pos=0)
Definition table.cc:102
bool Backdate()
Definition table.cc:117
void Reset()
Definition table.cc:130
vector< double > credibility_
Definition table.h:178
size_t last_pos() const
Definition table.h:173
TableAccessor Access(SyllableId syllable_id, double credibility=0.0, double quality_len=0.0) const
Definition table.cc:190
vector< size_t > last_pos_
Definition table.h:180
size_t level() const
Definition table.h:165
TableQuery(table::Index *index)
Definition table.h:147
RIME_DLL TableAccessor QueryPhrases(const Code &code)
Definition table.cc:555
bool GetSyllabary(Syllabary *syllabary)
Definition table.cc:535
RIME_DLL bool Build(const Syllabary &syllabary, const Vocabulary &vocabulary, size_t num_entries, uint32_t dict_file_checksum=0)
Definition table.cc:330
the< StringTable > string_table_
Definition table.h:241
RIME_DLL string GetSyllableById(int syllable_id)
Definition table.cc:543
table::Syllabary * syllabary_
Definition table.h:238
table::Metadata * metadata_
Definition table.h:237
RIME_DLL TableAccessor QueryWords(int syllable_id)
Definition table.cc:550
RIME_DLL bool Save()
Definition table.cc:315
RIME_DLL Table(const path &file_path)
Definition table.cc:265
RIME_DLL string GetEntryText(const table::Entry &entry)
Definition table.cc:632
table::Metadata * metadata() const
Definition table.h:213
uint32_t dict_file_checksum() const
Definition table.cc:326
RIME_DLL bool Query(const SyllableGraph &syll_graph, size_t start_pos, TableQueryResult *result)
Definition table.cc:571
RIME_DLL bool Load()
Definition table.cc:269
table::Index * index_
Definition table.h:239
the< StringTableBuilder > string_table_builder_
Definition table.h:242
Definition vocabulary.h:21
Definition vocabulary.h:37
Definition vocabulary.h:70
Definition vocabulary.h:100