70 sdsl::sa_order_sa_sampling<>,
72 sdsl_wt_index_type::alphabet_type>;
114 template <std::ranges::range text_t>
117 detail::fm_index_validator::validate<alphabet_t, text_layout_mode_>(text);
146 template <
typename bi_fm_index_t>
167 template <std::ranges::range text_t>
235 return !(*
this == rhs);
281 template <cereal_archive archive_t>
294template <std::ranges::range text_t>
Provides the seqan3::bi_fm_index_cursor for searching in the bidirectional seqan3::bi_fm_index.
The SeqAn Bidirectional FM Index Cursor.
Definition bi_fm_index_cursor.hpp:52
The SeqAn Bidirectional FM Index.
Definition bi_fm_index.hpp:58
bi_fm_index(text_t &&text)
Constructor that immediately constructs the index given a range. The range cannot be empty.
Definition bi_fm_index.hpp:168
bi_fm_index(bi_fm_index &&)=default
Defaulted.
fm_index_type fwd_fm
Underlying FM index for the original text.
Definition bi_fm_index.hpp:90
bi_fm_index & operator=(bi_fm_index &&)=default
Defaulted.
bi_fm_index()=default
Defaulted.
fwd_cursor_type fwd_cursor() const noexcept
Returns a unidirectional seqan3::fm_index_cursor on the original text of the bidirectional index that...
Definition bi_fm_index.hpp:269
bool operator==(bi_fm_index const &rhs) const noexcept
Compares two indices.
Definition bi_fm_index.hpp:217
bool operator!=(bi_fm_index const &rhs) const noexcept
Compares two indices.
Definition bi_fm_index.hpp:233
static constexpr text_layout text_layout_mode
Indicates whether index is built over a collection.
Definition bi_fm_index.hpp:125
cursor_type cursor() const noexcept
Returns a seqan3::bi_fm_index_cursor on the index that can be used for searching. Cursor is pointing...
Definition bi_fm_index.hpp:252
typename sdsl_index_type::size_type size_type
Type for representing positions in the indexed text.
Definition bi_fm_index.hpp:133
typename sdsl_index_type::alphabet_type::char_type sdsl_char_type
The type of the reduced alphabet type. (The reduced alphabet might be smaller than the original alpha...
Definition bi_fm_index.hpp:77
sdsl_index_type_ sdsl_index_type
The type of the underlying SDSL index for the original text.
Definition bi_fm_index.hpp:64
rev_fm_index_type rev_fm
Underlying FM index for the reversed text.
Definition bi_fm_index.hpp:93
typename sdsl_index_type::alphabet_type::sigma_type sdsl_sigma_type
The type of the alphabet size of the underlying SDSL index.
Definition bi_fm_index.hpp:80
void construct(text_t &&text)
Constructs the index given a range. The range cannot be an rvalue (i.e. a temporary object) and has t...
Definition bi_fm_index.hpp:115
sdsl::csa_wt< sdsl_wt_index_type::wavelet_tree_type, 10 '000 '000, 10 '000 '000, sdsl::sa_order_sa_sampling<>, sdsl::isa_sampling<>, sdsl_wt_index_type::alphabet_type > rev_sdsl_index_type
The type of the underlying SDSL index for the reversed text.
Definition bi_fm_index.hpp:72
bool empty() const noexcept
Checks whether the index is empty.
Definition bi_fm_index.hpp:201
bi_fm_index & operator=(bi_fm_index const &)=default
Defaulted.
bi_fm_index(bi_fm_index const &)=default
Defaulted.
typename fm_index_type::alphabet_type alphabet_type
The type of the underlying character of the indexed text.
Definition bi_fm_index.hpp:131
size_type size() const noexcept
Returns the length of the indexed text including sentinel characters.
Definition bi_fm_index.hpp:185
~bi_fm_index()=default
Defaulted.
The SeqAn FM Index Cursor.
Definition fm_index_cursor.hpp:84
size_type size() const noexcept
Returns the length of the indexed text including sentinel characters.
Definition fm_index.hpp:470
alphabet_t alphabet_type
The type of the underlying character of the indexed text.
Definition fm_index.hpp:385
Provides various transformation traits used by the range module.
Provides the unidirectional seqan3::fm_index.
text_layout
The possible text layouts (single, collection) the seqan3::fm_index and seqan3::bi_fm_index can suppo...
Definition search/fm_index/concept.hpp:88
sdsl_wt_index_type default_sdsl_index_type
The default FM Index Configuration.
Definition fm_index.hpp:142
The basis for seqan3::alphabet, but requires only rank interface (not char).
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26