NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | Public Members | List of all members
nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType > Struct Template Reference

Detailed description

template< typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
struct nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >

The base q-gram index core class (see Q-Gram Index Module)

Definition at line 414 of file qgram.h.

#include <qgram.h>

Public Types

typedef QGramVectorType qgram_vector_type
 
typedef IndexVectorType index_vector_type
 
typedef CoordVectorType coord_vector_type
 
typedef std::iterator_traits
< qgram_vector_type >
::value_type 
qgram_type
 
typedef std::iterator_traits
< coord_vector_type >
::value_type 
coord_type
 
typedef QGramIndexViewCore
< QGramVectorType,
IndexVectorType,
CoordVectorType > 
plain_view_type
 
typedef QGramIndexViewCore
< QGramVectorType,
IndexVectorType,
CoordVectorType > 
const_plain_view_type
 
typedef qgram_type argument_type
 
typedef uint2 result_type
 

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE QGramIndexViewCore ()
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE QGramIndexViewCore (const uint32 _Q, const uint32 _symbol_size, const uint32 _n_qgrams, const uint32 _n_unique_qgrams, const qgram_vector_type _qgrams, const index_vector_type _slots, const coord_vector_type _index, const uint32 _QL, const uint32 _QLS, const index_vector_type _lut)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint2 
range (const qgram_type g) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint2 
operator() (const qgram_type g) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE coord_type 
locate (const uint32 i) const
 

Public Members

uint32 Q
 the q-gram size More...
 
uint32 symbol_size
 symbol size More...
 
uint32 n_qgrams
 the number of q-grams in the original string More...
 
uint32 n_unique_qgrams
 the number of unique q-grams in the original string More...
 
uint32 QL
 the number of LUT symbols More...
 
uint32 QLS
 the number of leading bits of a q-gram to lookup in the LUT More...
 
qgram_vector_type qgrams
 the sorted list of unique q-grams More...
 
index_vector_type slots
 slots[i] stores the first occurrence of q-grams[i] in index More...
 
coord_vector_type index
 the list of occurrences of all (partially-sorted) q-grams in the original string More...
 
index_vector_type lut
 a LUT used to accelerate q-gram searches More...
 

Member Typedef Documentation

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
typedef qgram_type nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::argument_type

Definition at line 428 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
typedef QGramIndexViewCore<QGramVectorType,IndexVectorType,CoordVectorType> nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::const_plain_view_type

Definition at line 425 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
typedef std::iterator_traits<coord_vector_type>::value_type nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::coord_type

Definition at line 421 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
typedef CoordVectorType nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::coord_vector_type

Definition at line 419 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
typedef IndexVectorType nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::index_vector_type

Definition at line 418 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
typedef QGramIndexViewCore<QGramVectorType,IndexVectorType,CoordVectorType> nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::plain_view_type

Definition at line 424 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
typedef std::iterator_traits<qgram_vector_type>::value_type nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::qgram_type

Definition at line 420 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
typedef QGramVectorType nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::qgram_vector_type

Definition at line 417 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
typedef uint2 nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::result_type

Definition at line 429 of file qgram.h.

Constructor & Destructor Documentation

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::QGramIndexViewCore ( )
inline

Definition at line 432 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::QGramIndexViewCore ( const uint32  _Q,
const uint32  _symbol_size,
const uint32  _n_qgrams,
const uint32  _n_unique_qgrams,
const qgram_vector_type  _qgrams,
const index_vector_type  _slots,
const coord_vector_type  _index,
const uint32  _QL,
const uint32  _QLS,
const index_vector_type  _lut 
)
inline

Definition at line 435 of file qgram.h.

Member Function Documentation

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE coord_type nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::locate ( const uint32  i) const
inline

locate a given occurrence of a q-gram

Definition at line 491 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint2 nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::operator() ( const qgram_type  g) const
inline

functor operator

Definition at line 486 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint2 nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::range ( const qgram_type  g) const
inline

return the slots of P corresponding to the given qgram g

Definition at line 460 of file qgram.h.

Member Data Documentation

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
coord_vector_type nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::index

the list of occurrences of all (partially-sorted) q-grams in the original string

Definition at line 502 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
index_vector_type nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::lut

a LUT used to accelerate q-gram searches

Definition at line 503 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
uint32 nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::n_qgrams

the number of q-grams in the original string

Definition at line 496 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
uint32 nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::n_unique_qgrams

the number of unique q-grams in the original string

Definition at line 497 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
uint32 nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::Q

the q-gram size

Definition at line 494 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
qgram_vector_type nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::qgrams

the sorted list of unique q-grams

Definition at line 500 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
uint32 nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::QL

the number of LUT symbols

Definition at line 498 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
uint32 nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::QLS

the number of leading bits of a q-gram to lookup in the LUT

Definition at line 499 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
index_vector_type nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::slots

slots[i] stores the first occurrence of q-grams[i] in index

Definition at line 501 of file qgram.h.

template<typename QGramVectorType, typename IndexVectorType, typename CoordVectorType>
uint32 nvbio::QGramIndexViewCore< QGramVectorType, IndexVectorType, CoordVectorType >::symbol_size

symbol size

Definition at line 495 of file qgram.h.


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