aboutsummaryrefslogtreecommitdiff
path: root/icing/index/iterator/doc-hit-info-iterator-or.h
diff options
context:
space:
mode:
Diffstat (limited to 'icing/index/iterator/doc-hit-info-iterator-or.h')
-rw-r--r--icing/index/iterator/doc-hit-info-iterator-or.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/icing/index/iterator/doc-hit-info-iterator-or.h b/icing/index/iterator/doc-hit-info-iterator-or.h
index 1e9847d..8c0427b 100644
--- a/icing/index/iterator/doc-hit-info-iterator-or.h
+++ b/icing/index/iterator/doc-hit-info-iterator-or.h
@@ -16,7 +16,9 @@
#define ICING_INDEX_ITERATOR_DOC_HIT_INFO_ITERATOR_OR_H_
#include <cstdint>
+#include <memory>
#include <string>
+#include <utility>
#include "icing/index/iterator/doc-hit-info-iterator.h"
@@ -38,12 +40,17 @@ class DocHitInfoIteratorOr : public DocHitInfoIterator {
libtextclassifier3::Status Advance() override;
- int32_t GetNumBlocksInspected() const override;
-
- int32_t GetNumLeafAdvanceCalls() const override;
+ CallStats GetCallStats() const override {
+ return left_->GetCallStats() + right_->GetCallStats();
+ }
std::string ToString() const override;
+ void MapChildren(const ChildrenMapper &mapper) override {
+ left_ = mapper(std::move(left_));
+ right_ = mapper(std::move(right_));
+ }
+
void PopulateMatchedTermsStats(
std::vector<TermMatchInfo> *matched_terms_stats,
SectionIdMask filtering_section_mask = kSectionIdMaskAll) const override {
@@ -83,12 +90,16 @@ class DocHitInfoIteratorOrNary : public DocHitInfoIterator {
libtextclassifier3::Status Advance() override;
- int32_t GetNumBlocksInspected() const override;
-
- int32_t GetNumLeafAdvanceCalls() const override;
+ CallStats GetCallStats() const override;
std::string ToString() const override;
+ void MapChildren(const ChildrenMapper &mapper) override {
+ for (int i = 0; i < iterators_.size(); ++i) {
+ iterators_[i] = mapper(std::move(iterators_[i]));
+ }
+ }
+
void PopulateMatchedTermsStats(
std::vector<TermMatchInfo> *matched_terms_stats,
SectionIdMask filtering_section_mask = kSectionIdMaskAll) const override {