|
std::vector< int64_t > & | bin_indices_of_ibf (size_t const idx) |
| Returns a vector containing user bin indices for each bin in the idx th IBF.
|
|
int64_t | filename_index (size_t const ibf_idx, size_t const bin_idx) const |
| Returns the filename index of the ibf_idx th IBF for bin bin_idx .
|
|
std::string & | filename_of_user_bin (size_t const idx) |
| Returns the filename of the idx th user bin.
|
|
size_t | num_user_bins () const noexcept |
| Returns the number of managed user bins.
|
|
auto | operator[] (size_t const ibf_idx) const |
| Returns a view over the user bin filenames for the ibf_idx th IBF. An empty string is returned for merged bins.
|
|
std::string const & | operator[] (std::pair< size_t, size_t > const &index_pair) const |
| For a pair (a,b) , returns a const reference to the filename of the user bin at IBF a , bin b .
|
|
template<typename archive_t > |
void | serialize (archive_t &archive) |
| Serialisation support function.
|
|
void | set_ibf_count (size_t const size) |
| Changes the number of managed IBFs.
|
|
void | set_user_bin_count (size_t const size) |
| Changes the number of managed user bins.
|
|
template<typename stream_t > |
void | write_filenames (stream_t &out_stream) const |
| Writes all filenames to a stream. Index and filename are tab-separated.
|
|
template<seqan3::data_layout data_layout_mode_ = seqan3::data_layout::uncompressed>
class raptor::hierarchical_interleaved_bloom_filter< data_layout_mode_ >::user_bins
Bookkeeping for user and technical bins.
template<seqan3::data_layout data_layout_mode_ = seqan3::data_layout::uncompressed>
Stores for each bin in each IBF of the HIBF the ID of the filename.
Assume we look up a bin b
in IBF i
, i.e. ibf_bin_to_filename_position[i][b]
. If -1
is returned, bin b
is a merged bin, and there is no filename, we need to look into the lower level IBF. Otherwise, the returned value j
can be used to access the corresponding filename user_bin_filenames[j]
.