From d83ba9d18e40538c2596a055bf05ef9b44bc4b9b Mon Sep 17 00:00:00 2001 From: Nigel Stewart Date: Thu, 4 Sep 2025 10:03:07 +1000 Subject: [PATCH 1/2] block_indirect_sort: Lambda capture this rather than direct counter reference --- .../boost/sort/block_indirect_sort/block_indirect_sort.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/sort/block_indirect_sort/block_indirect_sort.hpp b/include/boost/sort/block_indirect_sort/block_indirect_sort.hpp index 462cab6..73d6ffc 100644 --- a/include/boost/sort/block_indirect_sort/block_indirect_sort.hpp +++ b/include/boost/sort/block_indirect_sort/block_indirect_sort.hpp @@ -258,10 +258,10 @@ ::block_indirect_sort(Iter_t first, Iter_t last, Compare cmp, uint32_t nthr) // Insert the first work in the stack bscu::atomic_write(counter, 1); - function_t f1 = [&]( ) + function_t f1 = [this]( ) { start_function ( ); - bscu::atomic_sub (counter, 1); + bscu::atomic_sub (this->counter, 1); }; bk.works.emplace_back(f1); From 2d65c81e16e8cc3071477642ac031d37466550e3 Mon Sep 17 00:00:00 2001 From: Nigel Stewart Date: Thu, 4 Sep 2025 10:36:23 +1000 Subject: [PATCH 2/2] merge_blocks: const pos_index1, pos_index2 and pos_index3 to resolve cppcheck false alarm --- .../sort/block_indirect_sort/blk_detail/merge_blocks.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/sort/block_indirect_sort/blk_detail/merge_blocks.hpp b/include/boost/sort/block_indirect_sort/blk_detail/merge_blocks.hpp index 677acc3..f65e1bb 100644 --- a/include/boost/sort/block_indirect_sort/blk_detail/merge_blocks.hpp +++ b/include/boost/sort/block_indirect_sort/blk_detail/merge_blocks.hpp @@ -177,8 +177,8 @@ struct merge_blocks //------------------------------------------------------------------------- template merge_blocks -::merge_blocks( backbone_t &bkb, size_t pos_index1, size_t pos_index2, - size_t pos_index3) : bk(bkb) +::merge_blocks( backbone_t &bkb, const size_t pos_index1, const size_t pos_index2, + const size_t pos_index3) : bk(bkb) { size_t nblock1 = pos_index2 - pos_index1; size_t nblock2 = pos_index3 - pos_index2;