#762)
Mark Olesen
authored
- Always used for optional dictionary entries, since these are individual values, and not meant to be embedded in a larger stream of tokens. Methods: - lookupOrDefault, lookupOrAddDefault, lookupOrDefaultCompat - readIfPresent, readIfPresentCompat - Handling mandatory dictionary entries is slightly more complex, since these may be part of larger stream of tokens, and are often used in a constructor context. For example, word modelType(dict.lookup("type")); Or they are used without a definite context. For example, dict.lookup("format") >> outputFormat; Newly introduced methods for mandatory dictionary entries: - get, getCompat - read, readCompat In a constructor or assignment context: word modelType(dict.get<word>("type")); outputFormat = dict.lookup("format"); without copy/move (similar to readIfPresent): dict.read("format", outputFormat);