Merge pull request #1769 from chris0x44/json_pointer

Make json_pointer::back const (resolves #1764)
This commit is contained in:
Niels Lohmann 2019-10-03 10:35:34 +02:00 committed by GitHub
commit dae0fe79af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 2 deletions

View file

@ -267,7 +267,7 @@ class json_pointer
@since version 3.6.0 @since version 3.6.0
*/ */
const std::string& back() const std::string& back() const
{ {
if (JSON_HEDLEY_UNLIKELY(empty())) if (JSON_HEDLEY_UNLIKELY(empty()))
{ {

View file

@ -10232,7 +10232,7 @@ class json_pointer
@since version 3.6.0 @since version 3.6.0
*/ */
const std::string& back() const std::string& back() const
{ {
if (JSON_HEDLEY_UNLIKELY(empty())) if (JSON_HEDLEY_UNLIKELY(empty()))
{ {

View file

@ -559,6 +559,10 @@ TEST_CASE("JSON pointers")
CHECK(!ptr.empty()); CHECK(!ptr.empty());
CHECK(j[ptr] == j["answer"]["everything"]); CHECK(j[ptr] == j["answer"]["everything"]);
// check access via const pointer
const auto cptr = ptr;
CHECK(cptr.back() == "everything");
ptr.pop_back(); ptr.pop_back();
ptr.pop_back(); ptr.pop_back();
CHECK(ptr.empty()); CHECK(ptr.empty());