Use rapidjson internal::SelectIf
This commit is contained in:
parent
8710d7e989
commit
128b1031b0
@ -1464,24 +1464,9 @@ private:
|
|||||||
RAPIDJSON_FORCEINLINE Ch Take() { return Base::TakePush(); }
|
RAPIDJSON_FORCEINLINE Ch Take() { return Base::TakePush(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
template <bool test>
|
|
||||||
struct NumberCharacterConditional {
|
|
||||||
typedef char type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<>
|
|
||||||
struct NumberCharacterConditional<true> {
|
|
||||||
typedef typename TargetEncoding::Ch type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<>
|
|
||||||
struct NumberCharacterConditional<false> {
|
|
||||||
typedef char type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<unsigned parseFlags, typename InputStream, typename Handler>
|
template<unsigned parseFlags, typename InputStream, typename Handler>
|
||||||
void ParseNumber(InputStream& is, Handler& handler) {
|
void ParseNumber(InputStream& is, Handler& handler) {
|
||||||
typedef NumberCharacterConditional<(parseFlags& kParseNumbersAsStringsFlag) != 0 >::type NumberCharacter;
|
typedef typename internal::SelectIf<internal::BoolType<(parseFlags & kParseNumbersAsStringsFlag) != 0>, typename TargetEncoding::Ch, char>::Type NumberCharacter;
|
||||||
|
|
||||||
internal::StreamLocalCopy<InputStream> copy(is);
|
internal::StreamLocalCopy<InputStream> copy(is);
|
||||||
NumberStream<InputStream, NumberCharacter,
|
NumberStream<InputStream, NumberCharacter,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user