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::SortedDictionarySuffixTrie< ALPHABET_SIZE_T, Iterator > Struct Template Reference

Detailed description

template< uint32 ALPHABET_SIZE_T, typename Iterator>
struct nvbio::SortedDictionarySuffixTrie< ALPHABET_SIZE_T, Iterator >

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

Template Parameters
ALPHABET_SIZE_Tthe size of the alphabet
Iteratoran iterator to the sorted string dictionary

Definition at line 65 of file sorted_dictionary.h.

#include <sorted_dictionary.h>

Public Types

typedef std::iterator_traits
< Iterator >::value_type 
string_type
 
typedef SortedDictionaryNode node_type
 

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE SortedDictionarySuffixTrie (const Iterator seq, const uint32 size)
 
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
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
is_leaf (const node_type node) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
size (const node_type node) const
 

Static Public Members

static const uint32 ALPHABET_SIZE = ALPHABET_SIZE_T
 

Member Typedef Documentation

template<uint32 ALPHABET_SIZE_T, typename Iterator >
typedef SortedDictionaryNode nvbio::SortedDictionarySuffixTrie< ALPHABET_SIZE_T, Iterator >::node_type

Definition at line 70 of file sorted_dictionary.h.

template<uint32 ALPHABET_SIZE_T, typename Iterator >
typedef std::iterator_traits<Iterator>::value_type nvbio::SortedDictionarySuffixTrie< ALPHABET_SIZE_T, Iterator >::string_type

Definition at line 69 of file sorted_dictionary.h.

Constructor & Destructor Documentation

template<uint32 ALPHABET_SIZE_T, typename Iterator >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::SortedDictionarySuffixTrie< ALPHABET_SIZE_T, Iterator >::SortedDictionarySuffixTrie ( const Iterator  seq,
const uint32  size 
)

constructor

Definition at line 40 of file sorted_dictionary_inl.h.

Member Function Documentation

template<uint32 ALPHABET_SIZE_T, typename Iterator >
template<typename Visitor >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::SortedDictionarySuffixTrie< ALPHABET_SIZE_T, Iterator >::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 59 of file sorted_dictionary_inl.h.

template<uint32 ALPHABET_SIZE_T, typename Iterator >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::SortedDictionarySuffixTrie< ALPHABET_SIZE_T, Iterator >::is_leaf ( const node_type  node) const

return true if the node is a leaf

Definition at line 87 of file sorted_dictionary_inl.h.

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

return the root node of the dictionary seen as a trie

Definition at line 49 of file sorted_dictionary_inl.h.

template<uint32 ALPHABET_SIZE_T, typename Iterator >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::SortedDictionarySuffixTrie< ALPHABET_SIZE_T, Iterator >::size ( const node_type  node) const

return the size of a node

Definition at line 96 of file sorted_dictionary_inl.h.

Member Data Documentation

template<uint32 ALPHABET_SIZE_T, typename Iterator >
const uint32 nvbio::SortedDictionarySuffixTrie< ALPHABET_SIZE_T, Iterator >::ALPHABET_SIZE = ALPHABET_SIZE_T
static

Definition at line 67 of file sorted_dictionary.h.


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