From dca5927ba0e57c7046a93213e05bfa6eda130707 Mon Sep 17 00:00:00 2001 From: m-holger Date: Sun, 14 Jan 2024 18:06:27 +0000 Subject: Tweak Handlers::json_handlers Use std::vector instead of list and move shared pointers --- libqpdf/QPDFJob_json.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'libqpdf') diff --git a/libqpdf/QPDFJob_json.cc b/libqpdf/QPDFJob_json.cc index b3568cf5..53458a52 100644 --- a/libqpdf/QPDFJob_json.cc +++ b/libqpdf/QPDFJob_json.cc @@ -59,7 +59,7 @@ namespace void beginUnderOverlay(JSON const& j); - std::list> json_handlers; + std::vector> json_handlers; bool partial; JSONHandler* jh{nullptr}; // points to last of json_handlers std::shared_ptr c_main; @@ -100,7 +100,7 @@ Handlers::bindJSON(void (Handlers::*f)(JSON)) void Handlers::initHandlers() { - this->json_handlers.push_back(std::make_shared()); + this->json_handlers.emplace_back(std::make_shared()); this->jh = this->json_handlers.back().get(); jh->addDictHandlers( [](std::string const&, JSON) {}, @@ -184,8 +184,9 @@ Handlers::pushKey(std::string const& key) { auto new_jh = std::make_shared(); this->jh->addDictKeyHandler(key, new_jh); - this->json_handlers.push_back(new_jh); this->jh = new_jh.get(); + this->json_handlers.emplace_back(std::move(new_jh)); + } void @@ -205,8 +206,9 @@ Handlers::beginArray(json_handler_t start_fn, bare_handler_t end_fn) [end_fn](std::string const&) { end_fn(); }, item_jh); jh->addFallbackHandler(item_jh); - this->json_handlers.push_back(item_jh); this->jh = item_jh.get(); + this->json_handlers.emplace_back(std::move(item_jh)); + } void -- cgit v1.2.3-54-g00ecf