NVBIO
|
Classes | |
struct | nvbio::TrieNode< ALPHABET_SIZE_T, TYPE_T > |
struct | nvbio::TrieNode5< TYPE_T > |
struct | nvbio::TrieNode< 2, TYPE_T > |
struct | nvbio::TrieNode< 3, TYPE_T > |
struct | nvbio::TrieNode< 4, TYPE_T > |
struct | nvbio::TrieNode< 5, TYPE_T > |
struct | nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator > |
Enumerations | |
enum | nvbio::TrieType { nvbio::CompressedTrie, nvbio::UncompressedTrie } |
Functions | |
template<typename TrieType , typename NodeVector > | |
void | nvbio::build_suffix_trie (const TrieType &in_trie, NodeVector &out_nodes) |
enum nvbio::TrieType |
A suffix trie can be stored either with an uncompressed layout, where each inner node reseves storage for |alphabet| children and some of them are marked as invalid, or with a compressed one, where only storage for the active children is actually reserved; the latter type requires just a little more logic during traversal, as a popcount is necessary to select the child corresponding to the i-th character.
Enumerator | |
---|---|
CompressedTrie | |
UncompressedTrie |
Definition at line 62 of file suffix_trie.h.
void nvbio::build_suffix_trie | ( | const TrieType & | in_trie, |
NodeVector & | out_nodes | ||
) |
copy a generic trie into a SuffixTrie.
TrieType | input trie |
NodeVector | output vector of trie nodes; this class must expose the following interface: |
Example:
Definition at line 274 of file suffix_trie_inl.h.