22#include "SerializableDict.hpp"
31 virtual ~DartsDict()
override;
36 size_t len)
const override;
39 size_t len)
const override;
41 virtual LexiconPtr
GetLexicon()
const override;
46 size_t len)
const override;
48 virtual void SerializeToFile(FILE* fp)
const override;
53 static DartsDictPtr NewFromDict(
const Dict& thatDict);
55 static DartsDictPtr NewFromFile(FILE* fp);
64 DartsInternal* internal;
Darts dictionary.
Definition DartsDict.hpp:29
virtual Optional< const DictEntry * > Match(const char *word, size_t len) const override
Matches a word exactly and returns the DictEntry or Optional::Null().
Definition DartsDict.cpp:56
virtual LexiconPtr GetLexicon() const override
Returns all entries in the dictionary.
Definition DartsDict.cpp:101
virtual Optional< const DictEntry * > MatchPrefix(const char *word, size_t len) const override
Matches the longest matched prefix of a word.
Definition DartsDict.cpp:73
virtual size_t KeyMaxLength() const override
Returns the length of the longest key in the dictionary.
Definition DartsDict.cpp:54
virtual bool SupportsFastPrefixMatch() const override
Returns true if this dict can handle prefix queries directly without PrefixMatch building a lookup ta...
Definition DartsDict.hpp:43
Abstract class of dictionary.
Definition Dict.hpp:63
A class that wraps type T into a nullable type.
Definition Optional.hpp:26
Serializable dictionary interface.
Definition SerializableDict.hpp:32
Result of a PrefixMatch fast-path lookup.
Definition Dict.hpp:52