diff --git a/include/rapidjson/reader.h b/include/rapidjson/reader.h index 906f657..542b7c0 100644 --- a/include/rapidjson/reader.h +++ b/include/rapidjson/reader.h @@ -1464,24 +1464,9 @@ 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 NumberCharacterConditional<(parseFlags& kParseNumbersAsStringsFlag) != 0 >::type NumberCharacter; + typedef typename internal::SelectIf, typename TargetEncoding::Ch, char>::Type NumberCharacter; internal::StreamLocalCopy copy(is); NumberStream