Skip to content

Commit 8710d7e

Browse files
committed
Do not depend on c++11 conditional
1 parent e0512e0 commit 8710d7e

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

include/rapidjson/reader.h

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1464,9 +1464,24 @@ class GenericReader {
14641464
RAPIDJSON_FORCEINLINE Ch Take() { return Base::TakePush(); }
14651465
};
14661466

1467+
template <bool test>
1468+
struct NumberCharacterConditional {
1469+
typedef char type;
1470+
};
1471+
1472+
template<>
1473+
struct NumberCharacterConditional<true> {
1474+
typedef typename TargetEncoding::Ch type;
1475+
};
1476+
1477+
template<>
1478+
struct NumberCharacterConditional<false> {
1479+
typedef char type;
1480+
};
1481+
14671482
template<unsigned parseFlags, typename InputStream, typename Handler>
14681483
void ParseNumber(InputStream& is, Handler& handler) {
1469-
typedef typename std::conditional<(parseFlags & kParseNumbersAsStringsFlag) != 0, typename TargetEncoding::Ch, char>::type NumberCharacter;
1484+
typedef NumberCharacterConditional<(parseFlags& kParseNumbersAsStringsFlag) != 0 >::type NumberCharacter;
14701485

14711486
internal::StreamLocalCopy<InputStream> copy(is);
14721487
NumberStream<InputStream, NumberCharacter,

0 commit comments

Comments
 (0)