201 "DynamicParserParseError: ",
224 template <
typename...
Args>
242 : onError_(on_error),
stack_(d) {}
251 return stack_.releaseErrors();
258 template <
typename Fn>
262 template <
typename Fn>
269 template <
typename Fn>
270 void objectItems(Fn);
276 template <
typename Fn>
303 allowNonStringKeyErrors_ =
b;
318 template <
typename Fn>
321 void reportError(
const folly::dynamic* lookup_k,
const std::exception& ex);
323 template <
typename Fn>
332 : key_(sp->key_), value_(sp->value_), stackPtr_(sp) {}
342 pop_ && ((*pop_)(),
true);
352 subErrors_({&errors_}) {}
377 [[noreturn]]
void throwErrors();
408 bool allowNonStringKeyErrors_{
false};
size_t parse(const char *buf, size_t len)
PopGuard(ParserStack *sp)
constexpr detail::Map< Move > move
DynamicParser(OnError on_error, const folly::dynamic *d)
auto on_error(Fns...fns) -> on_error_fn< Fns... >
ParserStack(const folly::dynamic *input)
internal::ArgsMatcher< InnerMatcher > Args(const InnerMatcher &matcher)
—— Concurrent Priority Queue Implementation ——
in_place_tag in_place(in_place_tag={})
requires E e noexcept(noexcept(s.error(std::move(e))))
requires And< SemiMovable< VN >... > &&SemiMovable< E > auto error(E e)
DynamicParser & setAllowNonStringKeyErrors(bool b)
const folly::dynamic * value_
const folly::dynamic & value() const
std::enable_if< detail::is_chrono_conversion< Tgt, Src >::value, Tgt >::type to(const Src &value)
const folly::dynamic & error() const
DynamicParserLogicError(Args &&...args)
std::string toPseudoJson(const folly::dynamic &d)
const folly::dynamic * value_
std::vector< folly::dynamic * > subErrors_
std::unique_ptr< AltStackBuffer > stack_
const folly::dynamic * key_
std::vector< const folly::dynamic * > unmaterializedSubErrorKeys_
uint64_t value(const typename LockFreeRingBuffer< T, Atom >::Cursor &rbcursor)
const folly::dynamic & key() const
DynamicParserParseError(folly::dynamic error)
folly::dynamic releaseErrors()