Merge c193301325 into e007f02c54
This commit is contained in:
commit
3d77448171
10
src/json.hpp
Normal file → Executable file
10
src/json.hpp
Normal file → Executable file
@ -2931,8 +2931,8 @@ class basic_json
|
|||||||
*/
|
*/
|
||||||
template <class InteratorType, typename
|
template <class InteratorType, typename
|
||||||
std::enable_if<
|
std::enable_if<
|
||||||
std::is_same<InteratorType, typename basic_json::iterator>::value or
|
std::is_same<InteratorType, typename __basic_json::iterator>::value or
|
||||||
std::is_same<InteratorType, typename basic_json::const_iterator>::value
|
std::is_same<InteratorType, typename __basic_json::const_iterator>::value
|
||||||
, int>::type
|
, int>::type
|
||||||
= 0>
|
= 0>
|
||||||
InteratorType erase(InteratorType first, InteratorType last)
|
InteratorType erase(InteratorType first, InteratorType last)
|
||||||
@ -4286,7 +4286,9 @@ class basic_json
|
|||||||
|
|
||||||
// We only reach this line if we cannot compare values. In that case,
|
// We only reach this line if we cannot compare values. In that case,
|
||||||
// we compare types.
|
// we compare types.
|
||||||
return lhs_type < rhs_type;
|
// Have to use operator< explicitly in order to
|
||||||
|
// not cause ambiguity on MS compiler
|
||||||
|
return operator<(lhs_type, rhs_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -4852,7 +4854,7 @@ class basic_json
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// an iterator value
|
/// an iterator value
|
||||||
union internal_iterator
|
struct internal_iterator
|
||||||
{
|
{
|
||||||
/// iterator for JSON objects
|
/// iterator for JSON objects
|
||||||
typename object_t::iterator object_iterator;
|
typename object_t::iterator object_iterator;
|
||||||
|
|||||||
11
test/unit.cpp
Normal file → Executable file
11
test/unit.cpp
Normal file → Executable file
@ -6939,7 +6939,7 @@ TEST_CASE("lexicographical comparison operators")
|
|||||||
CAPTURE(i);
|
CAPTURE(i);
|
||||||
CAPTURE(j);
|
CAPTURE(j);
|
||||||
// check precomputed values
|
// check precomputed values
|
||||||
CHECK( (j_types[i] < j_types[j]) == expected[i][j] );
|
CHECK(operator<(j_types[i], j_types[j]) == expected[i][j]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8163,9 +8163,11 @@ TEST_CASE("parser class")
|
|||||||
SECTION("escaped")
|
SECTION("escaped")
|
||||||
{
|
{
|
||||||
// quotation mark "\""
|
// quotation mark "\""
|
||||||
CHECK(json::parser("\"\\\"\"").parse() == R"("\"")"_json);
|
auto r1 = R"("\"")"_json;
|
||||||
|
CHECK(json::parser("\"\\\"\"").parse() == r1);
|
||||||
// reverse solidus "\\"
|
// reverse solidus "\\"
|
||||||
CHECK(json::parser("\"\\\\\"").parse() == R"("\\")"_json);
|
auto r2 = R"("\\")"_json;
|
||||||
|
CHECK(json::parser("\"\\\\\"").parse() == r2);
|
||||||
// solidus
|
// solidus
|
||||||
CHECK(json::parser("\"\\/\"").parse() == R"("/")"_json);
|
CHECK(json::parser("\"\\/\"").parse() == R"("/")"_json);
|
||||||
// backspace
|
// backspace
|
||||||
@ -9738,7 +9740,8 @@ TEST_CASE("regression tests")
|
|||||||
{
|
{
|
||||||
auto s = "[\"\\\"foo\\\"\"]";
|
auto s = "[\"\\\"foo\\\"\"]";
|
||||||
json j = json::parse(s);
|
json j = json::parse(s);
|
||||||
CHECK(j == R"(["\"foo\""])"_json);
|
auto expected = R"(["\"foo\""])"_json;
|
||||||
|
CHECK(j == expected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user