|
SeqAn3 3.4.0-rc.4
The Modern C++ library for sequence analysis.
|
An FM Index specialisation that handles reversing the given text. More...
#include <seqan3/search/fm_index/fm_index.hpp>
Inheritance diagram for seqan3::detail::reverse_fm_index< alphabet_t, text_layout_mode, sdsl_index_type >:Public Member Functions | |
| template<std::ranges::bidirectional_range text_t> | |
| reverse_fm_index (text_t &&text) | |
| Constructor that immediately constructs the index given a range. The range cannot be empty. | |
Public Member Functions inherited from seqan3::fm_index< alphabet_t, text_layout_mode_, sdsl_index_type_ > | |
| cursor_type | cursor () const noexcept |
| Returns a seqan3::fm_index_cursor on the index that can be used for searching. Cursor is pointing to the root node of the implicit suffix tree. . | |
| bool | empty () const noexcept |
| Checks whether the index is empty. | |
| bool | operator!= (fm_index const &rhs) const noexcept |
| Compares two indices. | |
| bool | operator== (fm_index const &rhs) const noexcept |
| Compares two indices. | |
| template<cereal_archive archive_t> | |
| void | serialize (archive_t &archive) |
| Serialisation support function. | |
| size_type | size () const noexcept |
| Returns the length of the indexed text including sentinel characters. | |
| fm_index ()=default | |
| Defaulted. | |
| fm_index (fm_index const &rhs) | |
| When copy constructing, also update internal data structures. | |
| fm_index (fm_index &&rhs) | |
| When move constructing, also update internal data structures. | |
| fm_index & | operator= (fm_index rhs) |
| When copy/move assigning, also update internal data structures. | |
| ~fm_index ()=default | |
| Defaulted. | |
| template<std::ranges::bidirectional_range text_t> | |
| fm_index (text_t &&text) | |
| Constructor that immediately constructs the index given a range. The range cannot be empty. | |
Private Member Functions | |
| template<std::ranges::range text_t> | |
| void | construct_ (text_t &&text) |
| Constructs the index given a range. The range cannot be an rvalue (i.e. a temporary object) and has to be non-empty. | |
Additional Inherited Members | |
Public Types inherited from seqan3::fm_index< alphabet_t, text_layout_mode_, sdsl_index_type_ > | |
| using | alphabet_type = alphabet_t |
| The type of the underlying character of the indexed text. | |
| using | size_type = typename sdsl_index_type::size_type |
| Type for representing positions in the indexed text. | |
| using | cursor_type = fm_index_cursor< fm_index > |
| The type of the (unidirectional) cursor. | |
Static Public Attributes inherited from seqan3::fm_index< alphabet_t, text_layout_mode_, sdsl_index_type_ > | |
| static constexpr text_layout | text_layout_mode = text_layout_mode_ |
| Indicates whether index is built over a collection. | |
An FM Index specialisation that handles reversing the given text.
| alphabet_t | The alphabet type; must model seqan3::semialphabet. |
| text_layout_mode | Indicates whether this index works on a text collection or a single text. See seqan3::text_layout. |
| sdsl_index_type | The type of the underlying SDSL index, must model seqan3::sdsl_index. |
This FM Index reverses the given text before constructing the seqan3::fm_index. This type is used by the seqan3::bi_fm_index.
|
inlineexplicit |
Constructor that immediately constructs the index given a range. The range cannot be empty.
| text_t | The type of range to construct from; must model std::ranges::bidirectional_range. |
| [in] | text | The text to construct from. |
|
inlineprivate |
Constructs the index given a range. The range cannot be an rvalue (i.e. a temporary object) and has to be non-empty.
| text_t | The type of range to construct from; must model std::ranges::bidirectional_range. |
| [in] | text | The text to construct from. |
No guarantee.