Skip to content

Commit ff641d1

Browse files
Fix capture args by reference in std::ranges to avoid unintended copies
1 parent 33e29ac commit ff641d1

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

searchlib/src/vespa/searchlib/expression/and_predicate_node.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ AndPredicateNode::AndPredicateNode(const AndPredicateNode&) = default;
1919
AndPredicateNode& AndPredicateNode::operator=(const AndPredicateNode&) = default;
2020

2121
bool AndPredicateNode::allow(const DocId docId, const HitRank rank) {
22-
return std::ranges::all_of(args(), [docId, rank](auto arg){ return arg->allow(docId, rank); });
22+
return std::ranges::all_of(args(), [docId, rank](auto& arg){ return arg->allow(docId, rank); });
2323
}
2424

2525
bool AndPredicateNode::allow(const document::Document& doc, const HitRank rank) {
26-
return std::ranges::all_of(args(), [&doc, rank](auto arg){ return arg->allow(doc, rank); });
26+
return std::ranges::all_of(args(), [&doc, rank](auto& arg){ return arg->allow(doc, rank); });
2727
}
2828
} // namespace search::expression

searchlib/src/vespa/searchlib/expression/or_predicate_node.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ OrPredicateNode::OrPredicateNode(const OrPredicateNode&) = default;
2020
OrPredicateNode& OrPredicateNode::operator=(const OrPredicateNode&) = default;
2121

2222
bool OrPredicateNode::allow(const DocId docId, const HitRank rank) {
23-
return std::ranges::any_of(args(), [docId, rank](auto arg){ return arg->allow(docId, rank); });
23+
return std::ranges::any_of(args(), [docId, rank](auto& arg){ return arg->allow(docId, rank); });
2424
}
2525

2626
bool OrPredicateNode::allow(const document::Document& doc, const HitRank rank) {
27-
return std::ranges::any_of(args(), [&doc, rank](auto arg){ return arg->allow(doc, rank); });
27+
return std::ranges::any_of(args(), [&doc, rank](auto& arg){ return arg->allow(doc, rank); });
2828
}
2929

3030
} // namespace search::expression

0 commit comments

Comments
 (0)