24#include "DictEntry.hpp"
37 size_t len)
const = 0;
43 return Match(word.c_str(), word.length());
73 virtual std::vector<const DictEntry*> MatchAllPrefixes(
const char* word,
79 std::vector<const DictEntry*>
Abstract class of dictionary.
Definition Dict.hpp:31
virtual size_t KeyMaxLength() const =0
Returns the length of the longest key in the dictionary.
virtual Optional< const DictEntry * > Match(const char *word, size_t len) const =0
Matches a word exactly and returns the DictEntry or Optional::Null().
virtual LexiconPtr GetLexicon() const =0
Returns all entries in the dictionary.
Optional< const DictEntry * > MatchPrefix(const std::string &word) const
Matches the longest matched prefix of a word.
Definition Dict.hpp:64
Optional< const DictEntry * > Match(const std::string &word) const
Matches a word exactly and returns the DictEntry or Optional::Null().
Definition Dict.hpp:42
Optional< const DictEntry * > MatchPrefix(const char *word) const
Matches the longest matched prefix of a word.
Definition Dict.hpp:57
virtual const std::list< DictPtr > * GetDictGroupItems() const
Returns child dictionaries when this dictionary is a group.
Definition Dict.hpp:97
virtual Optional< const DictEntry * > MatchPrefix(const char *word, size_t len) const
Matches the longest matched prefix of a word.
Definition Dict.cpp:25
virtual std::vector< const DictEntry * > MatchAllPrefixes(const char *word, size_t len) const
Returns all matched prefixes of a word, sorted by the length (desc).
Definition Dict.cpp:42
std::vector< const DictEntry * > MatchAllPrefixes(const std::string &word) const
Returns all matched prefixes of a word, sorted by the length (desc).
Definition Dict.hpp:80
A class that wraps type T into a nullable type.
Definition Optional.hpp:26