From f20017306f3fb9f19d171e06f3573780eef7cfd7 Mon Sep 17 00:00:00 2001 From: Sven Fink Date: Mon, 10 Feb 2020 14:03:58 +0100 Subject: [PATCH] Avoid forced string copies --- src/json-uri.cpp | 4 ++-- src/nlohmann/json-schema.hpp | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/json-uri.cpp b/src/json-uri.cpp index 2809fa1..6ff1c16 100644 --- a/src/json-uri.cpp +++ b/src/json-uri.cpp @@ -44,7 +44,7 @@ void json_uri::update(const std::string &uri) auto location = uri.substr(0, pointer_separator); - if (location.size()) { // a location part has been found + if (location.size()) { // a location part has been found // if it is an URN take it as it is if (location.find("urn:") == 0) { @@ -99,7 +99,7 @@ void json_uri::update(const std::string &uri) identifier_ = pointer; } -const std::string json_uri::location() const +std::string json_uri::location() const { if (urn_.size()) return urn_; diff --git a/src/nlohmann/json-schema.hpp b/src/nlohmann/json-schema.hpp index 518a0c7..2d18411 100644 --- a/src/nlohmann/json-schema.hpp +++ b/src/nlohmann/json-schema.hpp @@ -71,14 +71,14 @@ public: update(uri); } - const std::string scheme() const { return scheme_; } - const std::string authority() const { return authority_; } - const std::string path() const { return path_; } + const std::string &scheme() const { return scheme_; } + const std::string &authority() const { return authority_; } + const std::string &path() const { return path_; } - const json::json_pointer pointer() const { return pointer_; } - const std::string identifier() const { return identifier_; } + const json::json_pointer &pointer() const { return pointer_; } + const std::string &identifier() const { return identifier_; } - const std::string fragment() const + std::string fragment() const { if (identifier_ == "") return pointer_; @@ -86,8 +86,8 @@ public: return identifier_; } - const std::string url() const { return location(); } - const std::string location() const; + std::string url() const { return location(); } + std::string location() const; static std::string escape(const std::string &);