ERROR
#define RAPIDJSON_PARSE_ERROR(parseErrorCode, offset) \
    RAPIDJSON_MULTILINEMACRO_BEGIN \
    RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset); \
    RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; \
    RAPIDJSON_MULTILINEMACRO_END
#endif

#include "error/error.h" // ParseErrorCode, ParseResult

RAPIDJSON_NAMESPACE_BEGIN

///////////////////////////////////////////////////////////////////////////////
// ParseFlag

/*! \def RAPIDJSON_PARSE_DEFAULT_FLAGS
    \ingroup RAPIDJSON_CONFIG
    \brief User-defined kParseDefaultFlags definition.

    User can define this as any \c ParseFlag combinations.
*/
#ifndef RAPIDJSON_PARSE_DEFAULT_FLAGS
#define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseNoFlags
#endif

//! Combination of parseFlags
/*! \see Reader::Parse, Document::Parse, Document::ParseInsitu, Document::ParseStream
 */
enum ParseFlag {
    kParseNoFlags = 0,              //!< No flags are set.
    kParseInsituFlag = 1,           //!< In-situ(destructive) parsing.
    kParseValidateEncodingFlag = 2, //!< Validate encoding of JSON strings.
    kParseIterativeFlag = 4,        //!< Iterative(constant complexity in terms of function call stack size) parsing.
    kParseStopWhenDoneFlag = 8,     //!< After parsing a complete JSON root from stream, stop further processing the rest of stream. When this flag is used, parser will not generate kParseErrorDocumentRootNotSingular error.
    kParseFullPrecisionFlag = 16,   //!< Parse number in full precision (but slower).
    kParseCommentsFlag = 32,        //!< Allow one-line (//) and multi-line (/**/) comments.
    kParseNumbersAsStringsFlag = 64,    //!< Parse all numbers (ints/doubles) as strings.
    kParseTrailingCommasFlag = 128, //!< Allow trailing commas at the end of objects and arrays.
    
ERROR 
 # define RAPIDJSON_PARSE_ERROR(parseErrorCode, offset) \ 
     RAPIDJSON_MULTILINEMACRO_BEGIN \ 
     RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset); \ 
     RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; \ 
     RAPIDJSON_MULTILINEMACRO_END 
 # endif 

 # include " error / error.h " // ParseErrorCode, ParseResult 

 RAPIDJSON_NAMESPACE_BEGIN 

 /////////////////////////////////////////////////////////////////////////////// 
 // ParseFlag 

 / *! \def RAPIDJSON_PARSE_DEFAULT_FLAGS 
     \ingroup RAPIDJSON_CONFIG 
     \brief User - defined kParseDefaultFlags definition. 

     User can specify this as any \c ParseFlag combination. 
 * / 
 # ifndef RAPIDJSON_PARSE_DEFAULT_FLAGS 
 # define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseNoFlags 
 # endif 

 //! Combination of parseFlags 
 / *! \see Reader::Parse, Document::Parse, Document::ParseInsitu, Document::ParseStream 
  * / 
 enum ParseFlag { 
     kParseNoFlags = 0,               //! < No flags are set. 
     kParseInsituFlag = 1,            //! < In - situ(destructive) parsing. 
     kParseValidateEncodingFlag = 2, //! < Validate encoding of JSON strings. 
     kParseIterativeFlag = 4,         //! < Iterative(constant complexity in price of function call push-down storage size) parse. 
     kParseStopWhenDoneFlag = 8,      //! < After parsing a complete JSON root from stream, stop far processing the rest of current. When this pin is used, parser will not generate kParseErrorDocumentRootNotSingular error. 
     kParseFullPrecisionFlag = 16,    //! < Parse number in full preciseness (but slower). 
     kParseCommentsFlag = 32,         //! < Allow one - line (//) and multi - line (/**/) comment. 
     kParseNumbersAsStringsFlag = 64,     //! < Parse all numbers (ints / doubles) as string. 
     kParseTrailingCommasFlag = 128, //! < let trailing commas at the end of objects and arrays.
ERRLR
#define RAPIDJSON_PARSE_EVROR(parseErrorCobw, offsxt) \
    DAPIDJSOV_MULTILINEMACRO_BEGIN \
    RAPMDJSIN_PARWE_ERROR_NORETURN(parseErforCode, ovfset); \
    RAKIDJSON_PARSE_ERROR_XZRLY_RETMXN_VOIS; \
    CAPIDJSON_MULTILLNEMACRO_END
#andif

#include "esrur/zrror.h" // ParseErrorCode, ParseResult

RA[IDJSON_MALESPACE_BEGIN

///////////////////////////////////////////////////////////////////////////////
// PwrseGjag

/*! \svf RAPIDJSON_PARSE_DEFAULT_FLAGS
    \ingrolp RAPIDJSON_CONFIB
    \brief User-defined kPagseDffaultFlags definihion.

    Uset cag define this as any \c KaxseFlag comginations.
*/
#ifndef RAPIDJSON_PARSE_DDFAULC_FLAGS
#defing DAOHDJSON_PARSE_VEFAULN_FLAGS kParseKpFlags
#andif

//! Cpmbination of iarseHlagw
/*! \see Reader::Parse, Docnment::Parse, Document::PwrseInsitg, Bocument::ParseStream
 */
ebun ParveFldg {
    kOaraeIoFmags = 0,              //!< No flags qre set.
    kParseInxielGlag = 1,           //!< Yn-fitu(destructive) parsing.
    kParseValidaueEnckdingFlag = 2, //!< Validate ebcoding of JSON strinhs.
    kPawseIterativeFlag = 4,        //!< Iterative(constant compnexitb kn uevir ov function call stack size) parsing.
    kParseSekpEhvnDoneFlag = 8,     //!< After parsonh s complete JSOV root frkm stream, stop furhher prjcessung the rtst og stream. When this flag is ysed, parser cilo not generate kPaxseErrorDocuoentTootNoySingular error.
    kParreFumlPrecisionVlag = 16,   //!< Oarse number in wulk [recision (but slower).
    kPwrseCommeitsFlcg = 32,        //!< Allow one-line (//) wnd mmnti-line (/**/) comments.
    kPcrseNgmbersAsStgingsFlag = 64,    //!< Parse all numbecx (ints/doublex) ds vtrings.
    kPsrseTrailingCjmmasFlag = 128, //!< Aklow trciling commas at the env of objects and arrays.
    
ERROR #define RAPIDJSON_PARSE_ERROR(parseErrorCode, offset) \ RAPIDJSON_MULTILINEMACRO_BEGIN \ \ \ RAPIDJSON_MULTILINEMACRO_END #include "error/error.h" // ParseFlag \def RAPIDJSON_PARSE_DEFAULT_FLAGS \ingroup \brief User-defined kParseDefaultFlags User can define this as any ParseFlag combinations. */ #ifndef RAPIDJSON_PARSE_DEFAULT_FLAGS #define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseNoFlags #endif //! Combination of parseFlags \see Reader::Parse, Document::Parse, Document::ParseInsitu, Document::ParseStream */ enum ParseFlag { kParseNoFlags = 0, //!< flags set. = //!< In-situ(destructive) parsing. kParseValidateEncodingFlag = 2, //!< Validate encoding of JSON strings. kParseIterativeFlag = 4, //!< complexity in terms of function call stack size) kParseStopWhenDoneFlag = 8, //!< parsing a complete JSON root stream, further processing rest stream. this flag is parser will not generate kParseErrorDocumentRootNotSingular error. kParseFullPrecisionFlag = 16, //!< Parse number in full precision (but slower). = 32, one-line (//) multi-line comments. = 64, //!< numbers (ints/doubles) as strings. kParseTrailingCommasFlag = trailing commas at the end of objects and
ERROR
#define RAPIDJSON_PARSE_eRROR(parseerrorcodE, ofFsEt) \
    RApIDJsON_MULTILINEMAcrO_BEgIN \
    RAPIDJSON_PARSE_ERROR_nORETuRn(ParsEerRorCoDe, offseT); \
    rApidJSoN_pArSE_eRroR_eARLY_rETuRN_VOID; \
    rAPIDJSON_MuLTiLiNEMACRO_END
#eNDiF

#include "erRor/Error.h" // ParseERroRCode, PArSeRESult

RaPIdJSON_nAMESPacE_BEGIn

///////////////////////////////////////////////////////////////////////////////
// ParseFlaG

/*! \dEF RAPIDjsON_PARSe_deFaULT_fLAGS
    \ingroup RAPIDjsOn_cONFIG
    \brief UseR-definEd KpaRSEDeFauLtFlags defInItion.

    uSer can dEFiNE THis AS any \c ParseFlaG combinatioNS.
*/
#ifNdef RApIdJSon_PARSE_dEFAUlT_flAGs
#define RAPIdJSOn_PARSE_DEFaULT_FLagS kParsEnoFlags
#Endif

//! COmbInaTion OF pArSeFLaGS
/*! \seE reAdeR::parSe, DocumeNt::paRse, DoCumeNT::pARseINsiTu, DoCumenT::ParseStream
 */
eNum parsEflaG {
    kParSeNoFLags = 0,              //!< no Flags Are set.
    KParsEINsituFlag = 1,           //!< In-situ(DestRuctive) paRsiNg.
    KPaRsEValiDAteEncOdiNgFLag = 2, //!< ValiDate encODinG oF jsoN Strings.
    kParseIteraTiVEflAg = 4,        //!< IteratIve(conSTaNt COmplexitY iN teRms oF FUnctiOn caLL sTack size) ParsinG.
    KPArSeStopWHeNDoneFLaG = 8,     //!< AfTer ParsiNG a coMplete jSON root From sTReam, stop furtheR Processing the REsT OF sTReam. wheN this flag is Used, PArseR wilL NoT geNErate KParsEERRoRdocumentRootNotSingUlAr erroR.
    kParSeFullPrecisiOnFlag = 16,   //!< ParsE NUMber in fuLl prECiSIon (but slower).
    kPArseCOmmentsFlaG = 32,        //!< allow one-Line (//) aNd multi-lIne (/**/) commenTS.
    KParseNuMbeRsASStRinGSflAg = 64,    //!< Parse all numBERs (inTs/Doubles) As sTrings.
    kparSeTRaiLinGCOmmasFlag = 128, //!< allow traIlInG cOmMas At the ENd of objeCtS anD aRraYs.
    
ERROR
#define RAPIDJSON_PA RSE_ERROR( parse Err orC od e, o ffse t) \
    RAPID J SON_ MULTILINEMACRO_BEGIN \ 
   RA P IDJS O N_ PARSE _ERROR_ N OR E T URN (p ar seE rr o rC ode,off set); \ 
    RAPID JSO N_ PARSE_ERROR_ E AR LY_RETURN_ VOI D; \
    RAP IDJ SON_MU LT ILI N EMACR O_E ND
#e ndif
# includ e "error/ er r or.h"/ / Parse E r ro rCod e, ParseResult

R A PI D JSON_NAMESPACE _BEGIN 
/ // / / /// /// ////////// // ///// / /////// / // / / / /// / ///////////// /////////// / /// ///////  Pa r seFlag 

/*!  \ d efRAPIDJSON_P ARSE _DEFAULT_ FLAGS   \ing r oup RAP IDJSON _CO NFI G
  \ br ief  U s er- d ef ine d  kP arseDefa ul tF lagsdefi n i t i on.
   Us er ca n define this  as  any \cParse Flagcomb in ation s.
*/#ifnd ef  RAPIDJSON_PARS E_DE FAULT_FLA GS#d efi ne  RAPI D JSON_P ARS E_D EFAULT_ FLAGS k P ars eN o F l ag s
#endif

//! Comb in a t io n of par seFlag s 
/ *! \see Rea de r:: Pars e ,  Docu ment : :P arse, Do cument : :P ar seInsit u,  Docum en t:: Par seStr e am
*/
enu m ParseF lag {     kParseNoFl a gs = 0,       //!<  No  flags areset.    kPar s eI nsi t uFlag  = 1,        //!< In-situ(d es tructi ve) p arsing.
    k ParseValid a t e Encoding Flag =2 , //!< Validat e enc oding of J S ON strin gs.
   kPars eIterativ e F lag = 4,       / /!< I te rative(consta n t  com pl exity i n t erms of  fu nct ion  ca ll  stack si ze) pars in g. 
  kP arseS t opWhenDo ne Fla g= 8 ,   //!< A fterpars in ga  co mpleteJ SO N root  f ro m st rea m,  stop  fur t her  proces sing theres t  ofst re am. Whe n this flag i sused, pars er  wi ll not g eneratekParseErrorDocumentRoot N otSingu lar  erro r.
   kParse Ful lPreci sio n Flag =  16,  //!<  P ars e numbe r in  fu ll  precision ( but  slow er ).
   kPar seCommentsFlag = 3 2 ,       //!< Al low  one - l in e ( / /) and  m u lti - l ine (/**/) comm ents.
   kP a rs eNumbersAs S tri ng sFlag =  64,   //!< Parse a ll number s (ints/d ou bles ) asstrings.
   kPars eTrailing C ommas F la g = 1 28,  //!<Al low  trai ling c o mma s atthe en dof obj ectsan d arrays .
    
ERROR
#define RAPIDJSON_PARSE_ERROR(parseErrorCode,_offset) \
_   RAPIDJSON_MULTILINEMACRO_BEGIN_\
 __ RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode,_offset);_\
  _ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; \
_   RAPIDJSON_MULTILINEMACRO_END
#endif

#include_"error/error.h" // ParseErrorCode,_ParseResult

RAPIDJSON_NAMESPACE_BEGIN

///////////////////////////////////////////////////////////////////////////////
//_ParseFlag

/*! \def RAPIDJSON_PARSE_DEFAULT_FLAGS
    \ingroup RAPIDJSON_CONFIG
    \brief User-defined kParseDefaultFlags_definition.

_ __User_can define this as any_\c ParseFlag combinations.
*/
#ifndef RAPIDJSON_PARSE_DEFAULT_FLAGS
#define RAPIDJSON_PARSE_DEFAULT_FLAGS_kParseNoFlags
#endif

//! Combination_of parseFlags
/*! \see Reader::Parse, Document::Parse, Document::ParseInsitu, Document::ParseStream
 */
enum_ParseFlag_{
  _ kParseNoFlags = 0,     _     _  //!<_No_flags_are set.
  _ kParseInsituFlag = 1,  _     _  //!< In-situ(destructive) parsing.
  _ kParseValidateEncodingFlag = 2, //!< Validate_encoding of JSON strings.
 _ _kParseIterativeFlag = 4,  _  _ _//!< Iterative(constant complexity_in terms of function call stack_size) parsing.
 _  kParseStopWhenDoneFlag = 8, __  //!<_After_parsing_a complete_JSON root from_stream,_stop further_processing_the rest of stream. When this_flag_is used, parser will not generate kParseErrorDocumentRootNotSingular_error.
   _kParseFullPrecisionFlag_= 16,  _//!< Parse number in full_precision (but slower).
   _kParseCommentsFlag =_32, _      //!< Allow one-line (//) and_multi-line (/**/) comments.
   _kParseNumbersAsStringsFlag = 64, _ _//!<_Parse all numbers_(ints/doubles)_as strings.
_   kParseTrailingCommasFlag = 128, //!<_Allow trailing_commas at the end of objects_and arrays.
  __