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::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType > Struct Template Reference

Detailed description

template< typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
struct nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >

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

Definition at line 509 of file qgram.h.

#include <qgram.h>

Public Types

typedef SystemTag system_tag
 
typedef QGramType qgram_type
 
typedef IndexType index_type
 
typedef CoordType coord_type
 
typedef nvbio::vector
< system_tag, qgram_type
qgram_vector_type
 
typedef nvbio::vector
< system_tag, index_type
index_vector_type
 
typedef nvbio::vector
< system_tag, coord_type
coord_vector_type
 
typedef QGramIndexViewCore
< QGramType *, IndexType
*, CoordType * > 
plain_view_type
 
typedef QGramIndexViewCore
< const QGramType *, const
IndexType *, const CoordType * > 
const_plain_view_type
 

Public Methods

 QGramIndexCore ()
 
uint64 used_host_memory () const
 
uint64 used_device_memory () 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...
 
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...
 
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...
 
index_vector_type lut
 a LUT used to accelerate q-gram searches More...
 

Member Typedef Documentation

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
typedef QGramIndexViewCore<const QGramType*,const IndexType*,const CoordType*> nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::const_plain_view_type

Definition at line 521 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
typedef CoordType nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::coord_type

Definition at line 515 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
typedef nvbio::vector<system_tag,coord_type> nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::coord_vector_type

Definition at line 518 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
typedef IndexType nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::index_type

Definition at line 514 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
typedef nvbio::vector<system_tag,index_type> nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::index_vector_type

Definition at line 517 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
typedef QGramIndexViewCore<QGramType*,IndexType*,CoordType*> nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::plain_view_type

Definition at line 520 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
typedef QGramType nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::qgram_type

Definition at line 513 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
typedef nvbio::vector<system_tag,qgram_type> nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::qgram_vector_type

Definition at line 516 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
typedef SystemTag nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::system_tag

Definition at line 511 of file qgram.h.

Constructor & Destructor Documentation

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::QGramIndexCore ( )
inline

Definition at line 523 of file qgram.h.

Member Function Documentation

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
uint64 nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::used_device_memory ( ) const
inline

return the amount of device memory used

Definition at line 539 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
uint64 nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::used_host_memory ( ) const
inline

return the amount of device memory used

Definition at line 527 of file qgram.h.

Member Data Documentation

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
coord_vector_type nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::index

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

Definition at line 555 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
index_vector_type nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::lut

a LUT used to accelerate q-gram searches

Definition at line 559 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
uint32 nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::n_qgrams

the number of q-grams in the original string

Definition at line 551 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
uint32 nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::n_unique_qgrams

the number of unique q-grams in the original string

Definition at line 552 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
uint32 nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::Q

the q-gram size

Definition at line 549 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
qgram_vector_type nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::qgrams

the sorted list of unique q-grams

Definition at line 553 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
uint32 nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::QL

the number of LUT symbols

Definition at line 557 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
uint32 nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::QLS

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

Definition at line 558 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
index_vector_type nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::slots

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

Definition at line 554 of file qgram.h.

template<typename SystemTag, typename QGramType, typename IndexType, typename CoordType>
uint32 nvbio::QGramIndexCore< SystemTag, QGramType, IndexType, CoordType >::symbol_size

symbol size

Definition at line 550 of file qgram.h.


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