Raptor 4.0.0-rc.1
A fast and space-efficient pre-filter
Loading...
Searching...
No Matches
delete_user_bins.hpp File Reference

Provides raptor::delete_user_bins. More...

+ Include dependency graph for delete_user_bins.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void raptor::delete_user_bins (update_arguments const &arguments, raptor_index< index_structure::hibf > &index)
 Deletes the user bins listed in arguments.user_bins_to_delete from index.
 

Detailed Description

Provides raptor::delete_user_bins.

Author
Enrico Seiler <enrico.seiler AT fu-berlin.de>

Function Documentation

◆ delete_user_bins()

void raptor::delete_user_bins ( update_arguments const & arguments,
raptor_index< index_structure::hibf > & index )

Deletes the user bins listed in arguments.user_bins_to_delete from index.

Parameters
[in]argumentsThe update arguments.
[in,out]indexThe index to delete from.

The technical bins holding a deleted user bin are cleared and marked as seqan::hibf::bin_kind::deleted, and their occupancy is reset. The freed technical bins are reused by a subsequent raptor::insert_user_bin.

An IBF whose bins all became empty is additionally cleared in its parent's merged bin, and the subtree it roots is retired, see raptor::detail::retire_ibf: their bit vectors are released, but their slots in ibf_vector are kept so that the IBF indices stored throughout the index stay valid.

User bin IDs are not reassigned, hence the IDs of the remaining user bins stay valid. A deleted user bin keeps its entry in the bin path until a full rebuild drops it and renumbers the remaining user bins, see raptor::insert_user_bin.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:
Hide me