From 8710d7e9893e826001c4de7c45e247d9a0084e78 Mon Sep 17 00:00:00 2001 From: Kyrega Date: Tue, 10 Aug 2021 10:12:29 +0200 Subject: Do not depend on c++11 conditional --- include/rapidjson/reader.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/include/rapidjson/reader.h b/include/rapidjson/reader.h index a4e5b3b0..906f6575 100644 --- a/include/rapidjson/reader.h +++ b/include/rapidjson/reader.h @@ -1464,9 +1464,24 @@ private: RAPIDJSON_FORCEINLINE Ch Take() { return Base::TakePush(); } }; + template + struct NumberCharacterConditional { + typedef char type; + }; + + template<> + struct NumberCharacterConditional { + typedef typename TargetEncoding::Ch type; + }; + + template<> + struct NumberCharacterConditional { + typedef char type; + }; + template void ParseNumber(InputStream& is, Handler& handler) { - typedef typename std::conditional<(parseFlags & kParseNumbersAsStringsFlag) != 0, typename TargetEncoding::Ch, char>::type NumberCharacter; + typedef NumberCharacterConditional<(parseFlags& kParseNumbersAsStringsFlag) != 0 >::type NumberCharacter; internal::StreamLocalCopy copy(is); NumberStream