20 #ifndef COMPLETION_HXX 21 #define COMPLETION_HXX 28 using List = std::set<std::string>;
47 list.emplace(std::forward<T>(value));
52 auto i =
list.find(std::forward<T>(value));
66 return !(*
this == other);
86 virtual void Pre(
const char *value) = 0;
87 virtual void Post(
const char *value,
Range range) = 0;
Completion & operator=(const Completion &)=delete
virtual void Pre(const char *value)=0
Definition: Completion.hxx:26
virtual void Post(const char *value, Range range)=0
const_iterator end() const
Definition: Completion.hxx:73
Definition: Completion.hxx:57
List::const_iterator const_iterator
Definition: Completion.hxx:58
List list
Definition: Completion.hxx:29
Range range
Definition: Completion.hxx:81
bool operator==(const Range other) const
Definition: Completion.hxx:61
void remove(T &&value)
Definition: Completion.hxx:51
std::set< std::string > List
Definition: Completion.hxx:28
const_iterator _begin
Definition: Completion.hxx:59
Definition: Completion.hxx:78
void emplace(T &&value)
Definition: Completion.hxx:46
bool operator!=(const Range other) const
Definition: Completion.hxx:65
Result Complete(const std::string &prefix) const
bool empty() const
Definition: Completion.hxx:37
std::string new_prefix
Definition: Completion.hxx:79
void clear()
Definition: Completion.hxx:41
const_iterator _end
Definition: Completion.hxx:59
const_iterator begin() const
Definition: Completion.hxx:69