From b5d3e857e734a75f82951b5fe4ce4823600448db Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Thu, 21 Dec 2023 20:42:48 +0100 Subject: [PATCH] fix: pass some arguments by const ref instead of by value --- src/dwarfs/segmenter.cpp | 17 +++++++++-------- src/dwarfs/similarity_ordering.cpp | 5 +++-- test/incompressible_categorizer_test.cpp | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/dwarfs/segmenter.cpp b/src/dwarfs/segmenter.cpp index f852f005..baebf3ae 100644 --- a/src/dwarfs/segmenter.cpp +++ b/src/dwarfs/segmenter.cpp @@ -477,15 +477,16 @@ class granular_vector_adapter : private GranularityPolicy { size_t size() const { return this->bytes_to_frames(v_.size()); } - void append(granular_span_adapter span) { + void append(granular_span_adapter const& span) { auto raw = span.raw(); auto off = v_.size(); v_.resize(off + raw.size()); ::memcpy(v_.data() + off, raw.data(), raw.size()); } - int compare(size_t offset, - granular_span_adapter span) const { + int compare( + size_t offset, + granular_span_adapter const& span) const { auto raw = span.raw(); return std::memcmp(v_.data() + this->frames_to_bytes(offset), raw.data(), raw.size()); @@ -594,7 +595,7 @@ class segmenter_progress : public progress::context { using status = progress::context::status; segmenter_progress(std::string context, size_t total_size) - : context_{context} + : context_{std::move(context)} , bytes_total_{total_size} {} status get_status() const override { @@ -757,8 +758,8 @@ class segment_match : private GranularityPolicy { , offset_{off} {} void verify_and_extend( - granular_span_adapter data, size_t pos, - size_t len, size_t begin, size_t end); + granular_span_adapter const& data, + size_t pos, size_t len, size_t begin, size_t end); bool operator<(segment_match const& rhs) const { return size_ < rhs.size_ || @@ -851,8 +852,8 @@ void active_block::append_bytes( template void segment_match::verify_and_extend( - granular_span_adapter data, size_t pos, - size_t len, size_t begin, size_t end) { + granular_span_adapter const& data, + size_t pos, size_t len, size_t begin, size_t end) { auto v = this->template create< granular_vector_adapter>( block_->data()->vec()); diff --git a/src/dwarfs/similarity_ordering.cpp b/src/dwarfs/similarity_ordering.cpp index c2864fad..ac1effbb 100644 --- a/src/dwarfs/similarity_ordering.cpp +++ b/src/dwarfs/similarity_ordering.cpp @@ -285,7 +285,8 @@ class similarity_ordering_ final : public similarity_ordering::impl { basic_cluster_tree_node< basic_cluster>& node, basic_array_similarity_element_view const& ev, - duplicates_map& dup, index_type& ordered, std::string indent) const; + duplicates_map& dup, index_type& ordered, + std::string const& indent) const; template void order_impl( @@ -563,7 +564,7 @@ void similarity_ordering_::collect_rec( basic_cluster_tree_node< basic_cluster>& node, basic_array_similarity_element_view const& ev, - duplicates_map& dup, index_type& ordered, std::string indent) const { + duplicates_map& dup, index_type& ordered, std::string const& indent) const { if (node.is_leaf()) { for (auto e : node.cluster().index) { LOG_TRACE << opts_.context << indent << " " << ev.description(e) diff --git a/test/incompressible_categorizer_test.cpp b/test/incompressible_categorizer_test.cpp index 78d8ddc1..0f48e8b0 100644 --- a/test/incompressible_categorizer_test.cpp +++ b/test/incompressible_categorizer_test.cpp @@ -61,7 +61,7 @@ std::string random_string(size_t size) { return data; } -std::vector make_data(std::string s) { +std::vector make_data(std::string const& s) { std::vector rv(s.size()); std::memcpy(rv.data(), s.data(), s.size()); return rv;