8#ifndef RIME_TRANSLATION_H_
9#define RIME_TRANSLATION_H_
38 bool exhausted_ =
false;
116template <
class T,
class... Args>
#define RIME_DLL
Definition rime_api.h:33
std::shared_ptr< T > an
Definition common.h:60
list< of< Candidate > > CandidateQueue
Definition candidate.h:51
an< Translation > Cached(Args &&... args)
Definition translation.h:117
vector< of< Candidate > > CandidateList
Definition candidate.h:52
an< UnionTranslation > operator+(an< Translation > x, an< Translation > y)
Definition translation.cc:92
an< T > New(Args &&... args)
Definition common.h:77
virtual int Compare(an< Translation > other, const CandidateList &candidates)
Definition translation.cc:12
virtual an< Candidate > Peek()=0
virtual ~Translation()=default
bool exhausted() const
Definition translation.h:32
void set_exhausted(bool exhausted)
Definition translation.h:35
bool Next()
Definition translation.cc:25
an< Candidate > candidate_
Definition translation.h:51
UniqueTranslation(an< Candidate > candidate)
Definition translation.h:43
an< Candidate > Peek()
Definition translation.cc:32
bool Next()
Definition translation.cc:42
size_t size() const
Definition translation.h:63
CandidateList candies_
Definition translation.h:66
FifoTranslation()
Definition translation.cc:38
size_t cursor_
Definition translation.h:67
void Append(an< Candidate > candy)
Definition translation.cc:56
an< Candidate > Peek()
Definition translation.cc:50
bool Next()
Definition translation.cc:65
an< Candidate > Peek()
Definition translation.cc:78
UnionTranslation()
Definition translation.cc:61
list< of< Translation > > translations_
Definition translation.h:80
UnionTranslation & operator+=(an< Translation > t)
Definition translation.cc:84
const CandidateList & previous_candidates_
Definition translation.h:99
void Elect()
Definition translation.cc:126
MergedTranslation(const CandidateList &previous_candidates)
Definition translation.cc:101
MergedTranslation & operator+=(an< Translation > t)
Definition translation.cc:154
vector< of< Translation > > translations_
Definition translation.h:100
bool Next()
Definition translation.cc:106
size_t size() const
Definition translation.h:94
size_t elected_
Definition translation.h:101
an< Candidate > Peek()
Definition translation.cc:119
an< Candidate > cache_
Definition translation.h:113
virtual an< Candidate > Peek()
Definition translation.cc:180
an< Translation > translation_
Definition translation.h:112
virtual bool Next()
Definition translation.cc:169
CacheTranslation(an< Translation > translation)
Definition translation.cc:164
DistinctTranslation(an< Translation > translation)
Definition translation.cc:191
set< string > candidate_set_
Definition translation.h:129
virtual bool Next()
Definition translation.cc:194
bool AlreadyHas(const string &text) const
Definition translation.cc:205
virtual bool Replenish()
Definition translation.h:140
virtual an< Candidate > Peek()
Definition translation.cc:231
virtual bool Next()
Definition translation.cc:216
CandidateQueue cache_
Definition translation.h:143
an< Translation > translation_
Definition translation.h:142
PrefetchTranslation(an< Translation > translation)
Definition translation.cc:211