 |
SeqAn3
3.0.2
The Modern C++ library for sequence analysis.
|
|
Go to the documentation of this file.
71 using sdsl_index_type = sdsl_index_type_;
75 using rev_sdsl_index_type = sdsl::csa_wt<sdsl_wt_index_type::wavelet_tree_type,
78 sdsl::sa_order_sa_sampling<>,
80 sdsl_wt_index_type::alphabet_type>;
85 using sdsl_char_type =
typename sdsl_index_type::alphabet_type::char_type;
88 using sdsl_sigma_type =
typename sdsl_index_type::alphabet_type::sigma_type;
94 using rev_fm_index_type = detail::reverse_fm_index<alphabet_t, text_layout_mode_, rev_sdsl_index_type>;
101 rev_fm_index_type rev_fm;
122 template <std::ranges::range text_t>
123 void construct(text_t && text)
125 detail::fm_index_validator::validate<alphabet_t, text_layout_mode_>(text);
128 rev_fm = rev_fm_index_type{text};
154 template <
typename bi_fm_index_t>
175 template <std::ranges::range text_t>
178 construct(std::forward<text_t>(text));
195 return fwd_fm.
size();
243 return !(*
this == rhs);
289 template <cereal_archive archive_t>
290 void CEREAL_SERIALIZE_FUNCTION_NAME(archive_t & archive)
301 template <std::ranges::range text_t>
bool empty() const noexcept
Checks whether the index is empty.
Definition: bi_fm_index.hpp:209
~bi_fm_index()=default
Defaulted.
bool operator==(bi_fm_index const &rhs) const noexcept
Compares two indices.
Definition: bi_fm_index.hpp:225
bi_fm_index & operator=(bi_fm_index const &)=default
Defaulted.
bi_fm_index(bi_fm_index &&)=default
Defaulted.
This header includes C++17 filesystem support and imports it into namespace std::filesystem (independ...
bi_fm_index(text_t &&) -> bi_fm_index< range_innermost_value_t< text_t >, text_layout
Deduces the dimensions of the text.
Definition: bi_fm_index.hpp:303
The SeqAn Bidirectional FM Index.
Definition: bi_fm_index.hpp:66
typename fm_index_type::alphabet_type alphabet_type
The type of the underlying character of the indexed text.
Definition: bi_fm_index.hpp:139
text_layout
The possible text layouts (single, collection) the seqan3::fm_index and seqan3::bi_fm_index can suppo...
Definition: concept.hpp:82
typename sdsl_index_type::size_type size_type
Type for representing positions in the indexed text.
Definition: bi_fm_index.hpp:141
static constexpr text_layout text_layout_mode
Indicates whether index is built over a collection.
Definition: bi_fm_index.hpp:133
alphabet_t alphabet_type
The type of the underlying character of the indexed text.
Definition: fm_index.hpp:381
Provides various transformation traits used by the range module.
cursor_type cursor() const noexcept
Returns a seqan3::bi_fm_index_cursor on the index that can be used for searching.
Definition: bi_fm_index.hpp:260
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
Provides seqan3::views::persist.
size_type size() const noexcept
Returns the length of the indexed text including sentinel characters.
Definition: fm_index.hpp:461
bi_fm_index & operator=(bi_fm_index &&)=default
Defaulted.
sdsl_wt_index_type default_sdsl_index_type
The default FM Index Configuration.
Definition: fm_index.hpp:150
Adaptations of concepts from the Ranges TS.
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:176
The SeqAn Bidirectional FM Index Cursor.
Definition: bi_fm_index_cursor.hpp:57
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:277
The SeqAn FM Index Cursor.
Definition: fm_index_cursor.hpp:57
Provides the seqan3::bi_fm_index_cursor for searching in the bidirectional seqan3::bi_fm_index.
bi_fm_index()=default
Defaulted.
bool operator!=(bi_fm_index const &rhs) const noexcept
Compares two indices.
Definition: bi_fm_index.hpp:241
bi_fm_index(bi_fm_index const &)=default
Defaulted.
Provides the unidirectional seqan3::fm_index.
The basis for seqan3::alphabet, but requires only rank interface (not char).
size_type size() const noexcept
Returns the length of the indexed text including sentinel characters.
Definition: bi_fm_index.hpp:193