NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | Static Public Members | List of all members
nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator > Struct Template Reference

Detailed description

template< uint32 ALPHABET_SIZE_T, typename NodeIterator>
struct nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator >

A suffix trie type built on a generic dictionary of sorted strings

Template Parameters
ALPHABET_SIZE_Tsize of the alphabet
NodeIteratorthe type of node used, must be a TrieNode<T>

Definition at line 223 of file suffix_trie.h.

#include <suffix_trie.h>

Public Types

typedef std::iterator_traits
< NodeIterator >::value_type 
node_type
 

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE SuffixTrie ()
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE SuffixTrie (const NodeIterator seq)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE node_type 
root () const
 
template<typename Visitor >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
children (const node_type node, Visitor &visitor) const
 
const NodeIterator & nodes () const
 

Static Public Members

static const uint32 ALPHABET_SIZE = ALPHABET_SIZE_T
 

Member Typedef Documentation

template<uint32 ALPHABET_SIZE_T, typename NodeIterator>
typedef std::iterator_traits<NodeIterator>::value_type nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator >::node_type

Definition at line 227 of file suffix_trie.h.

Constructor & Destructor Documentation

template<uint32 ALPHABET_SIZE_T, typename NodeIterator>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator >::SuffixTrie ( )
inline

constructor

Definition at line 232 of file suffix_trie.h.

template<uint32 ALPHABET_SIZE_T, typename NodeIterator >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator >::SuffixTrie ( const NodeIterator  seq)

constructor

Definition at line 183 of file suffix_trie_inl.h.

Member Function Documentation

template<uint32 ALPHABET_SIZE_T, typename NodeIterator >
template<typename Visitor >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator >::children ( const node_type  node,
Visitor &  visitor 
) const

visit the children of a given node

Template Parameters
Visitora visitor implementing the following interface:
struct Visitor
{
// do something with the node corresponding to character c
void visit(const uint8 c, const NodeType node);
}

Definition at line 202 of file suffix_trie_inl.h.

template<uint32 ALPHABET_SIZE_T, typename NodeIterator>
const NodeIterator& nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator >::nodes ( ) const
inline

nodes

Definition at line 261 of file suffix_trie.h.

template<uint32 ALPHABET_SIZE_T, typename NodeIterator >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE SuffixTrie< ALPHABET_SIZE_T, NodeIterator >::node_type nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator >::root ( ) const

return the root node of the dictionary seen as a trie

Definition at line 192 of file suffix_trie_inl.h.

Member Data Documentation

template<uint32 ALPHABET_SIZE_T, typename NodeIterator>
const uint32 nvbio::SuffixTrie< ALPHABET_SIZE_T, NodeIterator >::ALPHABET_SIZE = ALPHABET_SIZE_T
static

Definition at line 225 of file suffix_trie.h.


The documentation for this struct was generated from the following files: