7#ifndef RIME_SEGMENTATION_H_
8#define RIME_SEGMENTATION_H_
48 bool Reopen(
size_t caret_pos);
50 bool HasTag(
const string& tag)
const {
return tags.find(tag) !=
tags.end(); }
52 return std::any_of(
tags.begin(),
tags.end(),
53 [
this](
const string& tag) { return HasTag(tag); });
64 void Reset(
const string& input);
65 void Reset(
size_t num_segments);
66 bool AddSegment(
Segment segment);
70 bool HasFinishedSegmentation()
const;
71 size_t GetCurrentStartPosition()
const;
72 size_t GetCurrentEndPosition()
const;
73 size_t GetCurrentSegmentLength()
const;
74 size_t GetConfirmedPosition()
const;
#define RIME_DLL
Definition rime_api.h:33
std::shared_ptr< T > an
Definition common.h:60
std::ostream & operator<<(std::ostream &stream, const Reference &reference)
Definition config_compiler.cc:12
Definition candidate.h:14
Definition segmentation.h:18
bool HasTag(const string &tag) const
Definition segmentation.h:50
an< Menu > menu
Definition segmentation.h:30
void Clear()
Definition segmentation.h:39
an< Candidate > GetCandidateAt(size_t index) const
Definition segmentation.cc:45
bool Reopen(size_t caret_pos)
Definition segmentation.cc:26
string prompt
Definition segmentation.h:32
Status status
Definition segmentation.h:25
set< string > tags
Definition segmentation.h:29
Segment(int start_pos, int end_pos)
Definition segmentation.h:36
size_t end
Definition segmentation.h:27
void Close()
Definition segmentation.cc:17
size_t start
Definition segmentation.h:26
size_t selected_index
Definition segmentation.h:31
size_t length
Definition segmentation.h:28
bool HasAnyTagIn(const vector< string > &tags) const
Definition segmentation.h:51
Status
Definition segmentation.h:19
@ kSelected
Definition segmentation.h:22
@ kGuess
Definition segmentation.h:21
@ kConfirmed
Definition segmentation.h:23
@ kVoid
Definition segmentation.h:20
an< Candidate > GetSelectedCandidate() const
Definition segmentation.cc:51
Definition segmentation.h:60
Segmentation()
Definition segmentation.cc:55
const string & input() const
Definition segmentation.h:76
string input_
Definition segmentation.h:79
virtual ~Segmentation()
Definition segmentation.h:63