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

Detailed description

template< TrieType TYPE_T>
struct nvbio::TrieNode5< TYPE_T >

A suffix trie node for alphabets containing up to 5 symbols

Template Parameters
TYPE_Ta 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.

Definition at line 136 of file suffix_trie.h.

#include <suffix_trie.h>

Inheritance diagram for nvbio::TrieNode5< TYPE_T >:
nvbio::TrieNode< 2, TYPE_T > nvbio::TrieNode< 3, TYPE_T > nvbio::TrieNode< 4, TYPE_T > nvbio::TrieNode< 5, TYPE_T >

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE TrieNode ()
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE TrieNode (const uint32 _child, const uint32 _mask)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
is_leaf () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
child () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
child (const uint32 c) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nth_child (const uint32 c) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
first_child () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
mask () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
set_child_bit (const uint32 c)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
child_bit (const uint32 c) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
set_size (const uint32 size)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
size () const
 

Public Members

uint32 m_child
 
uint32 m_mask:5
 
uint32 m_size:27
 

Static Public Members

static const uint32 ALPHABET_SIZE = 5
 
static const uint32 invalid_node = uint32(-1)
 
static const TrieType trie_type = TYPE_T
 

Member Function Documentation

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::TrieNode5< TYPE_T >::child ( ) const

Definition at line 125 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::TrieNode5< TYPE_T >::child ( const uint32  c) const

Definition at line 129 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::TrieNode5< TYPE_T >::child_bit ( const uint32  c) const

Definition at line 167 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::TrieNode5< TYPE_T >::first_child ( ) const

Definition at line 149 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::TrieNode5< TYPE_T >::is_leaf ( ) const

Definition at line 121 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::TrieNode5< TYPE_T >::mask ( ) const

Definition at line 159 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::TrieNode5< TYPE_T >::nth_child ( const uint32  c) const

Definition at line 139 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::TrieNode5< TYPE_T >::set_child_bit ( const uint32  c)

Definition at line 163 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::TrieNode5< TYPE_T >::set_size ( const uint32  size)

Definition at line 171 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::TrieNode5< TYPE_T >::size ( void  ) const

Definition at line 175 of file suffix_trie_inl.h.

template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::TrieNode5< TYPE_T >::TrieNode ( )
template<TrieType TYPE_T>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::TrieNode5< TYPE_T >::TrieNode ( const uint32  _child,
const uint32  _mask 
)

Member Data Documentation

template<TrieType TYPE_T>
const uint32 nvbio::TrieNode5< TYPE_T >::ALPHABET_SIZE = 5
static

Definition at line 138 of file suffix_trie.h.

template<TrieType TYPE_T>
const uint32 nvbio::TrieNode5< TYPE_T >::invalid_node = uint32(-1)
static

Definition at line 140 of file suffix_trie.h.

template<TrieType TYPE_T>
uint32 nvbio::TrieNode5< TYPE_T >::m_child

Definition at line 178 of file suffix_trie.h.

template<TrieType TYPE_T>
uint32 nvbio::TrieNode5< TYPE_T >::m_mask

Definition at line 179 of file suffix_trie.h.

template<TrieType TYPE_T>
uint32 nvbio::TrieNode5< TYPE_T >::m_size

Definition at line 179 of file suffix_trie.h.

template<TrieType TYPE_T>
const TrieType nvbio::TrieNode5< TYPE_T >::trie_type = TYPE_T
static

Definition at line 141 of file suffix_trie.h.


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