[go: nahoru, domu]

Skip to content

Commit

Permalink
Do not depend on c++11 conditional
Browse files Browse the repository at this point in the history
  • Loading branch information
womsersap committed Aug 10, 2021
1 parent e0512e0 commit 8710d7e
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion include/rapidjson/reader.h
Original file line number Diff line number Diff line change
Expand Up @@ -1464,9 +1464,24 @@ class GenericReader {
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>
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<InputStream> copy(is);
NumberStream<InputStream, NumberCharacter,
Expand Down

0 comments on commit 8710d7e

Please sign in to comment.