46 explicit DictGroup(
const std::list<DictPtr>& dicts);
48 DictGroup(
const std::list<DictPtr>& dicts, DictGroupMatchPolicy matchPolicy);
50 static DictGroupPtr NewFromDict(
const Dict& dict);
57 virtual size_t KeyMaxLength()
const;
86 virtual std::vector<const DictEntry*> MatchAllPrefixes(
const char* word,
95 virtual LexiconPtr GetLexicon()
const;
109 const std::list<DictPtr>
GetDicts()
const {
return dicts; }
117 const size_t keyMaxLength;
118 const std::list<DictPtr> dicts;
119 const DictGroupMatchPolicy matchPolicy;
Group of dictionaries.
Definition: DictGroup.hpp:44
virtual DictGroupMatchPolicy GetMatchPolicy() const
Returns how this group resolves matches across child dictionaries.
Definition: DictGroup.hpp:114
const std::list< DictPtr > GetDicts() const
Returns the child dictionaries by value.
Definition: DictGroup.hpp:109
virtual const std::list< DictPtr > * GetDictGroupItems() const
Exposes child dictionaries to callers that need group-aware behavior.
Definition: DictGroup.hpp:102
Abstract class of dictionary.
Definition: Dict.hpp:63
A class that wraps type T into a nullable type.
Definition: Optional.hpp:26
Group of dictionaries with union prefix-match semantics.
Definition: DictGroup.hpp:130