|
Open Chinese Convert 1.3.2
A project for conversion between Traditional and Simplified Chinese
|
Group of dictionaries with union prefix-match semantics. More...
#include <DictGroup.hpp>
Public Member Functions | |
| UnionDictGroup (const std::list< DictPtr > &dicts) | |
| virtual Optional< const DictEntry * > | MatchPrefix (const char *word, size_t len) const |
| Matches the longest prefix within the first child dictionary that has any prefix match. | |
| Public Member Functions inherited from opencc::DictGroup | |
| DictGroup (const std::list< DictPtr > &dicts) | |
| DictGroup (const std::list< DictPtr > &dicts, DictGroupMatchPolicy matchPolicy) | |
| virtual size_t | KeyMaxLength () const |
| Returns the maximum KeyMaxLength() among all child dictionaries. | |
| virtual Optional< const DictEntry * > | Match (const char *word, size_t len) const |
| Matches the key exactly against child dictionaries in group order. | |
| virtual std::vector< const DictEntry * > | MatchAllPrefixes (const char *word, size_t len) const |
| Returns prefix matches from all child dictionaries, sorted by key length descending. | |
| virtual LexiconPtr | GetLexicon () const |
| Returns a merged lexicon from all child dictionaries. | |
| virtual const std::list< DictPtr > * | GetDictGroupItems () const |
| Exposes child dictionaries to callers that need group-aware behavior. | |
| const std::list< DictPtr > | GetDicts () const |
| Returns the child dictionaries by value. | |
| virtual DictGroupMatchPolicy | GetMatchPolicy () const |
| Returns how this group resolves matches across child dictionaries. | |
| Public Member Functions inherited from opencc::Dict | |
| Optional< const DictEntry * > | Match (const std::string &word) const |
| Matches a word exactly and returns the DictEntry or Optional::Null(). | |
| Optional< const DictEntry * > | MatchPrefix (const char *word) const |
| Matches the longest matched prefix of a word. | |
| Optional< const DictEntry * > | MatchPrefix (const std::string &word) const |
| Matches the longest matched prefix of a word. | |
| std::vector< const DictEntry * > | MatchAllPrefixes (const std::string &word) const |
| Returns all matched prefixes of a word, sorted by the length (desc). | |
| virtual bool | SupportsFastPrefixMatch () const |
| Returns true if this dict can handle prefix queries directly without PrefixMatch building a lookup table. | |
| virtual PrefixMatchView | MatchPrefixValue (const char *word, size_t len) const |
| Fast-path prefix match. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from opencc::DictGroup | |
| static DictGroupPtr | NewFromDict (const Dict &dict) |
Group of dictionaries with union prefix-match semantics.
Exact lookup still uses dictionary order for duplicate keys. Prefix lookup chooses the longest child match, using dictionary order only as a tie-breaker. MatchAllPrefixes() has the same behavior as DictGroup: all matched prefix lengths are returned once, and earlier dictionaries win equal-length ties.
|
virtual |
Matches the longest prefix within the first child dictionary that has any prefix match.
A shorter match from an earlier child dictionary therefore wins over a longer match from a later child dictionary.
This method is not used by OpenCC's normal conversion or mmseg segmentation paths; PrefixMatch expands the group via GetDictGroupItems() instead.
Reimplemented from opencc::DictGroup.