7#ifndef RIME_CANDIDATE_H_
8#define RIME_CANDIDATE_H_
26 const string&
type()
const {
return type_; }
28 size_t start()
const {
return start_; }
29 size_t end()
const {
return end_; }
30 double quality()
const {
return quality_; }
33 virtual const string&
text()
const = 0;
35 virtual string comment()
const {
return string(); }
37 virtual string preedit()
const {
return string(); }
63 const string&
comment =
string(),
64 const string&
preedit =
string())
88 const string&
text =
string(),
89 const string&
comment =
string(),
90 const bool inherit_comment =
true)
116 const string&
text =
string(),
117 const string&
comment =
string())
132 return !
items_.empty() ?
items_.front()->preedit() : string();
137 if (
quality() < item->quality())
std::shared_ptr< T > an
Definition common.h:60
list< of< Candidate > > CandidateQueue
Definition candidate.h:51
vector< of< Candidate > > CandidateList
Definition candidate.h:52
void set_type(const string &type)
Definition candidate.h:39
int compare(const Candidate &other)
Definition candidate.cc:34
void set_quality(double quality)
Definition candidate.h:42
void set_end(size_t end)
Definition candidate.h:41
void set_start(size_t start)
Definition candidate.h:40
virtual string comment() const
Definition candidate.h:35
virtual string preedit() const
Definition candidate.h:37
double quality() const
Definition candidate.h:30
static vector< of< Candidate > > GetGenuineCandidates(const an< Candidate > &cand)
Definition candidate.cc:21
const string & type() const
Definition candidate.h:26
static an< Candidate > GetGenuineCandidate(const an< Candidate > &cand)
Definition candidate.cc:16
virtual ~Candidate()=default
size_t start() const
Definition candidate.h:28
virtual const string & text() const =0
Candidate(const string &type, size_t start, size_t end, double quality=0.)
Definition candidate.h:17
size_t end() const
Definition candidate.h:29
string comment_
Definition candidate.h:80
string text_
Definition candidate.h:79
const string & text() const
Definition candidate.h:70
void set_text(const string &text)
Definition candidate.h:74
string preedit() const
Definition candidate.h:72
void set_preedit(const string &preedit)
Definition candidate.h:76
SimpleCandidate()=default
void set_comment(const string &comment)
Definition candidate.h:75
string comment() const
Definition candidate.h:71
string preedit_
Definition candidate.h:81
SimpleCandidate(const string &type, size_t start, size_t end, const string &text, const string &comment=string(), const string &preedit=string())
Definition candidate.h:59
an< Candidate > item_
Definition candidate.h:108
ShadowCandidate(const an< Candidate > &item, const string &type, const string &text=string(), const string &comment=string(), const bool inherit_comment=true)
Definition candidate.h:86
string text_
Definition candidate.h:106
string preedit() const
Definition candidate.h:101
string comment_
Definition candidate.h:107
const string & text() const
Definition candidate.h:97
string comment() const
Definition candidate.h:98
bool inherit_comment_
Definition candidate.h:109
const an< Candidate > & item() const
Definition candidate.h:103
UniquifiedCandidate(const an< Candidate > &item, const string &type, const string &text=string(), const string &comment=string())
Definition candidate.h:114
string text_
Definition candidate.h:143
string preedit() const
Definition candidate.h:131
const CandidateList & items() const
Definition candidate.h:140
string comment_
Definition candidate.h:144
const string & text() const
Definition candidate.h:124
CandidateList items_
Definition candidate.h:145
void Append(an< Candidate > item)
Definition candidate.h:135
string comment() const
Definition candidate.h:127