From 1901212d26a7fcf90d896bafd9da8dfb7d2bd0d4 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Thu, 21 Nov 2024 17:46:20 -0400 Subject: [PATCH] Upgrade JSON Toolkit to `aae184d87d6c4efe600cfb3c85163eda61f207c4` (#206) Signed-off-by: Juan Cruz Viotti --- DEPENDENCIES | 2 +- .../jsontoolkit/jsonpointer_pointer.h | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index c7bf2fb0..92d46402 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -1,6 +1,6 @@ vendorpull https://github.com/sourcemeta/vendorpull dea311b5bfb53b6926a4140267959ae334d3ecf4 noa https://github.com/sourcemeta/noa caad2e1ceedf9fd1a18686a6a6d1e2b9757ead75 -jsontoolkit https://github.com/sourcemeta/jsontoolkit 4829e706f5ae2e1730cfd34fc982d690ba729cfd +jsontoolkit https://github.com/sourcemeta/jsontoolkit aae184d87d6c4efe600cfb3c85163eda61f207c4 googletest https://github.com/google/googletest a7f443b80b105f940225332ed3c31f2790092f47 googlebenchmark https://github.com/google/benchmark 378fe693a1ef51500db21b11ff05a8018c5f0e55 jsonschema-test-suite https://github.com/json-schema-org/JSON-Schema-Test-Suite c2badb1298a8698f86dadf1aea7b44b3a894e5ac diff --git a/vendor/jsontoolkit/src/jsonpointer/include/sourcemeta/jsontoolkit/jsonpointer_pointer.h b/vendor/jsontoolkit/src/jsonpointer/include/sourcemeta/jsontoolkit/jsonpointer_pointer.h index e6a22c9c..9251e031 100644 --- a/vendor/jsontoolkit/src/jsonpointer/include/sourcemeta/jsontoolkit/jsonpointer_pointer.h +++ b/vendor/jsontoolkit/src/jsonpointer/include/sourcemeta/jsontoolkit/jsonpointer_pointer.h @@ -174,6 +174,18 @@ template class GenericPointer { return this->data.emplace_back(args...); } + /// Reserve capacity for a JSON Pointer. For example: + /// + /// ```cpp + /// #include + /// + /// sourcemeta::jsontoolkit::Pointer pointer; + /// pointer.reserve(1024); + /// ``` + auto reserve(const typename Container::size_type capacity) -> void { + this->data.reserve(capacity); + } + /// Push a copy of a JSON Pointer into the back of a JSON Pointer. /// For example: /// @@ -202,7 +214,7 @@ template class GenericPointer { return; } - this->data.reserve(this->data.size() + other.size()); + this->reserve(this->data.size() + other.size()); std::copy(other.data.cbegin(), other.data.cend(), std::back_inserter(this->data)); } @@ -235,7 +247,7 @@ template class GenericPointer { return; } - this->data.reserve(this->data.size() + other.size()); + this->reserve(this->data.size() + other.size()); std::move(other.data.begin(), other.data.end(), std::back_inserter(this->data)); } @@ -276,7 +288,7 @@ template class GenericPointer { this->data.emplace_back(token.to_index()); } } else { - this->data.reserve(this->data.size() + other.size()); + this->reserve(this->data.size() + other.size()); for (const auto &token : other) { if (token.is_property()) { this->data.emplace_back(token.to_property());