[btree_damage_visitor] Hide this behind a utility function btree_visit_values().
This commit is contained in:
@ -91,7 +91,6 @@ namespace persistent_data {
|
|||||||
bool damaged_;
|
bool damaged_;
|
||||||
block_address damage_begin_;
|
block_address damage_begin_;
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------
|
//----------------------------------------------------------------
|
||||||
|
|
||||||
@ -423,6 +422,17 @@ namespace persistent_data {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <unsigned Levels, typename ValueTraits, typename ValueVisitor, typename DamageVisitor>
|
||||||
|
void btree_visit_values(btree<Levels, ValueTraits> const &tree,
|
||||||
|
block_counter &counter,
|
||||||
|
ValueVisitor &value_visitor,
|
||||||
|
DamageVisitor &damage_visitor) {
|
||||||
|
btree_detail::btree_damage_visitor<ValueVisitor, DamageVisitor, Levels, ValueTraits>
|
||||||
|
v(counter, value_visitor, damage_visitor);
|
||||||
|
tree.visit_depth_first(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------
|
//----------------------------------------------------------------
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -344,9 +344,7 @@ namespace {
|
|||||||
|
|
||||||
virtual void run_() {
|
virtual void run_() {
|
||||||
block_counter counter;
|
block_counter counter;
|
||||||
btree_damage_visitor<value_visitor_mock, damage_visitor_mock, 1, thing_traits>
|
btree_visit_values(*tree_, counter, value_visitor_, damage_visitor_);
|
||||||
visitor(counter, value_visitor_, damage_visitor_);
|
|
||||||
tree_->visit_depth_first(visitor);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -399,9 +397,7 @@ namespace {
|
|||||||
|
|
||||||
virtual void run_() {
|
virtual void run_() {
|
||||||
block_counter counter;
|
block_counter counter;
|
||||||
btree_damage_visitor<value_visitor_mock, damage_visitor_mock, 2, thing_traits>
|
btree_visit_values(*tree_, counter, value_visitor_, damage_visitor_);
|
||||||
visitor(counter, value_visitor_, damage_visitor_);
|
|
||||||
tree_->visit_depth_first(visitor);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user