MCPcopy Create free account
hub / github.com/catboost/catboost / ReadWithRuntimeFlags

Function ReadWithRuntimeFlags

library/cpp/json/json_reader.cpp:364–387  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

362
363 template <class TRapidJsonCompliantInputStream, class THandler, ui8 currentFlags = 0>
364 auto ReadWithRuntimeFlags(ui8 runtimeFlags,
365 rapidjson::Reader& reader,
366 TRapidJsonCompliantInputStream& is,
367 THandler& handler) {
368 if (runtimeFlags == 0) {
369 return reader.Parse<ConvertToRapidJsonFlags(currentFlags)>(is, handler);
370 }
371
372#define TRY_EXTRACT_FLAG(flag) \
373 if (runtimeFlags & flag) { \
374 return ReadWithRuntimeFlags<TRapidJsonCompliantInputStream, THandler, currentFlags | flag>( \
375 runtimeFlags ^ flag, reader, is, handler); \
376 }
377
378 TRY_EXTRACT_FLAG(ReaderConfigFlags::NANINF);
379 TRY_EXTRACT_FLAG(ReaderConfigFlags::ITERATIVE);
380 TRY_EXTRACT_FLAG(ReaderConfigFlags::COMMENTS);
381 TRY_EXTRACT_FLAG(ReaderConfigFlags::VALIDATE);
382 TRY_EXTRACT_FLAG(ReaderConfigFlags::ESCAPE);
383
384#undef TRY_EXTRACT_FLAG
385
386 return reader.Parse<ConvertToRapidJsonFlags(currentFlags)>(is, handler);
387 }
388
389 template <class TRapidJsonCompliantInputStream, class THandler>
390 auto Read(const TJsonReaderConfig& config,

Callers 1

ReadFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected