|
Raptor 4.0.0-rc.1
A fast and space-efficient pre-filter
|
Provides helpers to traverse and retire subtrees of an HIBF. More...
Include dependency graph for subtree.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Functions | |
| void | raptor::detail::collect_subtree (std::vector< size_t > &result, raptor_index< index_structure::hibf > const &index, size_t const ibf_idx) |
Collects the indices of all IBFs in the subtree rooted at ibf_idx into result, ibf_idx first. | |
| void | raptor::detail::retire_ibf (raptor_index< index_structure::hibf > &index, size_t const ibf_idx) |
Retires the IBF at ibf_idx: releases its data and marks it as deleted. | |
Provides helpers to traverse and retire subtrees of an HIBF.
|
inline |
Retires the IBF at ibf_idx: releases its data and marks it as deleted.
All data of the IBF is released. Its slot in ibf_vector is kept, because erasing it would shift, and thereby invalidate, every larger IBF index stored in the index. A retired IBF is recognised by its prev_ibf_id, see raptor::detail::is_deleted, and is skipped when looking for a place to insert a user bin.
The caller has to unmark the merged bin the IBF used to hang in, and to restore that bin's next_ibf_id entry.
Here is the call graph for this function:
Here is the caller graph for this function: