4#ifndef _Stroika_Foundation_DataExchange_Variant_JSON_Reader_h_
5#define _Stroika_Foundation_DataExchange_Variant_JSON_Reader_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
9#include "Stroika/Foundation/Common/Common.h"
27namespace Stroika::Foundation::DataExchange::Variant::JSON {
31 struct ReaderOptions {
34#if __has_include("boost/json.hpp")
38#if __has_include("boost/json.hpp")
42 eDEFAULT = eStroikaNative,
47 optional<Algorithm> fPreferredAlgorithm;
49 using ReaderOptions::Algorithm::eStroikaNative;
50#if __has_include("boost/json.hpp")
51 using ReaderOptions::Algorithm::eBoost;
82 Reader (
const ReaderOptions& options = {});
86#if __has_include("boost/json.hpp")
89 static shared_ptr<_IRep> mk_ (
const ReaderOptions& options);
#define Stroika_Define_Enum_Bounds(FIRST_ITEM, LAST_ITEM)
abstract class specifying interface for readers that map a source like XML or JSON to a VariantValue ...