Skip to content

Module: Indexes

cpockrandt edited this page Mar 22, 2017 · 9 revisions
  • suffix_tree_concept

    • enhanced_suffix_array class
  • suffix_tree_concept && trie_concept

    • suffix_array class
    • compressed_suffix_array class
    • rev_fm_index class
  • prefix_tree_concept

  • prefix_tree_concept && trie_concept

    • fm_index class
  • suffix_tree_concept && prefix_tree_concept && trie_concept:

    • bidirectional_fm_index class
  • hash_table_concept

    • q_gram_index

virtual_suffix_trie_concept

template <typename T>
concept bool virtual_suffix_trie_concept (T t)
{
    t.root();
    requires virtual_suffix_trie_top_down_iterator_concept<decltype(t.root())>;


};

template <typename rev_fm_index_traits>
    requires rev_fm_index_traits_concept<rev_fm_index_traits>
class rev_fm_index
{
     using vector_type = sdsl::interleaved_vector;
     using int_type = uint32_t;

};

class my_fm : public rev_fm_index
{
     using int_type = uint16_t;
};

open questions

  • sdsl vs seqan3 namespace
  • traits vs. inheritance
  • complete concept example above
  • which iterators do we want/need?

https://gist.github.com/cpockrandt/36bf5f6a3eaba704880ddebd102f4a4e

Clone this wiki locally