bool ReaderMapping::get(const char* key, ReaderMapping& value) const { auto const sx = get_item(key); if (sx) { value = ReaderMapping(m_doc, sx); return true; } else { return false; } }
bool JsonReaderMappingImpl::read_mapping(const char* key, ReaderMapping& value) const { const Json::Value& element = m_json[key]; if (element.isObject()) { value = ReaderMapping(std::make_shared<JsonReaderMappingImpl>(element)); return true; } else { return false; } }
bool SExprReaderMappingImpl::read_mapping(const char* key, ReaderMapping& value) const { sexp::Value const* cur = get_subsection(key); if (cur) { value = ReaderMapping(std::make_shared<SExprReaderMappingImpl>(*cur)); return true; } else { return false; } }
ReaderMapping JsonReaderObjectImpl::get_mapping() const { auto it = m_json.begin(); return ReaderMapping(std::make_shared<JsonReaderMappingImpl>(*it)); }
ReaderMapping SExprReaderObjectImpl::get_mapping() const { return ReaderMapping(std::make_shared<SExprReaderMappingImpl>(m_sx.get_cdr())); }