NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | Static Public Members | Related Functions | List of all members
nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > Struct Template Reference

Detailed description

template< typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
struct nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >

A class to represent a packed stream of symbols, where the size of the symbol is specified at compile-time as a template parameter. The sequence is packed on top of an underlying stream of words, whose type can also be specified at compile-time in order to allow for different memory access patterns.

Template Parameters
InputStreamthe underlying stream of words used to hold the packed stream (e.g. uint32, uint4)
Symbolthe unpacked symbol type (e.g. uint8)
SYMBOL_SIZE_Tthe number of bits needed for each symbol
BIG_ENDIAN_Tthe "endianness" of the words: if true, symbols will be packed from right to left within each word
IndexTypethe type of integer used to address the stream (e.g. uint32, uint64)

Definition at line 191 of file packedstream.h.

#include <packedstream.h>

Public Types

typedef PackedStream
< InputStream, Symbol,
SYMBOL_SIZE_T, BIG_ENDIAN_T,
IndexType > 
This
 
typedef unsigned_type
< IndexType >::type 
index_type
 
typedef signed_type< IndexType >
::type 
sindex_type
 
typedef std::iterator_traits
< InputStream >::value_type 
storage_type
 
typedef InputStream stream_type
 
typedef InputStream storage_iterator
 
typedef Symbol symbol_type
 
typedef PackedStreamRef< Thisreference
 
typedef Symbol const_reference
 
typedef referencepointer
 
typedef std::iterator_traits
< InputStream >
::iterator_category 
iterator_category
 
typedef symbol_type value_type
 
typedef sindex_type difference_type
 
typedef sindex_type distance_type
 
typedef This iterator
 
typedef This const_iterator
 
typedef ForwardPackedStream
< InputStream, Symbol,
SYMBOL_SIZE_T, BIG_ENDIAN_T,
IndexType > 
forward_iterator
 

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream ()
 
template<typename UInputStream >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream (const UInputStream stream, const index_type index=0)
 
template<typename UInputStream , typename USymbol >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream (const PackedStream< UInputStream, USymbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &other)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE reference 
operator* () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE Symbol 
operator[] (const index_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE reference 
operator[] (const index_type i)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE Symbol 
get () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
set (const Symbol s)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE Symbol 
get (const index_type i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
set (const index_type i, const Symbol s)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE iterator 
begin () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE InputStream 
stream () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE index_type 
index () const
 
template<typename UInputStream , typename USymbol >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE PackedStream
operator= (const PackedStream< UInputStream, USymbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &other)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE PackedStream
operator++ ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE PackedStream 
operator++ (int dummy)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE PackedStream
operator-- ()
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE PackedStream 
operator-- (int dummy)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE PackedStream
operator+= (const sindex_type distance)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE PackedStream
operator-= (const sindex_type distance)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE PackedStream 
operator+ (const sindex_type distance) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE PackedStream 
operator- (const sindex_type distance) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE sindex_type 
operator- (const PackedStream it) const
 

Static Public Members

static const uint32 SYMBOL_SIZE = SYMBOL_SIZE_T
 
static const uint32 SYMBOL_COUNT = 1u << SYMBOL_SIZE
 
static const uint32 SYMBOL_MASK = SYMBOL_COUNT - 1u
 
static const uint32 BIG_ENDIAN = BIG_ENDIAN_T
 
static const uint32 ALPHABET_SIZE = SYMBOL_COUNT
 
static const uint32 WORD_SIZE = uint32( sizeof(storage_type) )
 
static const uint32 SYMBOLS_PER_WORD = (8u * WORD_SIZE) / SYMBOL_SIZE
 
static const uint32 VECTOR_WIDTH = SYMBOLS_PER_WORD
 

Related Functions

(Note that these are not member functions.)

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
operator< (const PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &it1, const PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &it2)
 
template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
operator> (const PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &it1, const PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &it2)
 
template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
operator== (const PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &it1, const PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &it2)
 
template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
operator!= (const PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &it1, const PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &it2)
 
template<typename InputIterator , typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_HOST_DEVICE void assign (const IndexType input_len, const InputIterator input_string, PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > packed_string)
 

Member Typedef Documentation

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef This nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::const_iterator

Definition at line 220 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef Symbol nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::const_reference

Definition at line 213 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef sindex_type nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::difference_type

Definition at line 217 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef sindex_type nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::distance_type

Definition at line 218 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef ForwardPackedStream<InputStream,Symbol,SYMBOL_SIZE_T, BIG_ENDIAN_T,IndexType> nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::forward_iterator

Definition at line 221 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef unsigned_type<IndexType>::type nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::index_type

Definition at line 195 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef This nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::iterator

Definition at line 219 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef std::iterator_traits<InputStream>::iterator_category nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::iterator_category

Definition at line 215 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef reference* nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::pointer

Definition at line 214 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef PackedStreamRef<This> nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::reference

Definition at line 212 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef signed_type<IndexType>::type nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::sindex_type

Definition at line 196 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef InputStream nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::storage_iterator

Definition at line 210 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef std::iterator_traits<InputStream>::value_type nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::storage_type

Definition at line 197 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef InputStream nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::stream_type

Definition at line 209 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef Symbol nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::symbol_type

Definition at line 211 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef PackedStream<InputStream,Symbol,SYMBOL_SIZE_T, BIG_ENDIAN_T,IndexType> nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::This

Definition at line 193 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
typedef symbol_type nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::value_type

Definition at line 216 of file packedstream.h.

Constructor & Destructor Documentation

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::PackedStream ( )
inline

empty constructor

Definition at line 225 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
template<typename UInputStream >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::PackedStream ( const UInputStream  stream,
const index_type  index = 0 
)
inlineexplicit

constructor

Definition at line 230 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
template<typename UInputStream , typename USymbol >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::PackedStream ( const PackedStream< UInputStream, USymbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &  other)
inline

constructor

Definition at line 235 of file packedstream.h.

Member Function Documentation

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE iterator nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::begin ( void  ) const
inline

return begin iterator

Definition at line 267 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE Symbol nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::get ( ) const
inline

get the current symbol

Definition at line 251 of file packedstream.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE Symbol nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::get ( const index_type  i) const

get the i-th symbol

Definition at line 609 of file packedstream_inl.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE index_type nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::index ( ) const
inline

return the offset this iterator refers to

Definition at line 277 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE reference nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator* ( ) const
inline

dereference operator

Definition at line 240 of file packedstream.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator+ ( const sindex_type  distance) const

add offset

Definition at line 692 of file packedstream_inl.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > & nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator++ ( )

pre-increment operator

Definition at line 624 of file packedstream_inl.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator++ ( int  dummy)

post-increment operator

Definition at line 635 of file packedstream_inl.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > & nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator+= ( const sindex_type  distance)

add offset

Definition at line 670 of file packedstream_inl.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator- ( const sindex_type  distance) const

subtract offset

Definition at line 702 of file packedstream_inl.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::sindex_type nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator- ( const PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >  it) const

difference

Definition at line 712 of file packedstream_inl.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > & nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator-- ( )

pre-decrement operator

Definition at line 647 of file packedstream_inl.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator-- ( int  dummy)

post-decrement operator

Definition at line 658 of file packedstream_inl.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > & nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator-= ( const sindex_type  distance)

subtract offset

Definition at line 681 of file packedstream_inl.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
template<typename UInputStream , typename USymbol >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE PackedStream& nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator= ( const PackedStream< UInputStream, USymbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > &  other)
inline

assignment operator

Definition at line 283 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE Symbol nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator[] ( const index_type  i) const
inline

get the i-th symbol

Definition at line 244 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE reference nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::operator[] ( const index_type  i)
inline

get the i-th symbol

Definition at line 247 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::set ( const Symbol  s)
inline

set the current symbol

Definition at line 255 of file packedstream.h.

template<typename InputStream , typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::set ( const index_type  i,
const Symbol  s 
)

set the i-th symbol

Definition at line 614 of file packedstream_inl.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE InputStream nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::stream ( ) const
inline

return the base stream

Definition at line 272 of file packedstream.h.

Member Data Documentation

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
const uint32 nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::ALPHABET_SIZE = SYMBOL_COUNT
static

Definition at line 203 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
const uint32 nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::BIG_ENDIAN = BIG_ENDIAN_T
static

Definition at line 202 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
const uint32 nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::SYMBOL_COUNT = 1u << SYMBOL_SIZE
static

Definition at line 200 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
const uint32 nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::SYMBOL_MASK = SYMBOL_COUNT - 1u
static

Definition at line 201 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
const uint32 nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::SYMBOL_SIZE = SYMBOL_SIZE_T
static

Definition at line 199 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
const uint32 nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::SYMBOLS_PER_WORD = (8u * WORD_SIZE) / SYMBOL_SIZE
static

Definition at line 206 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
const uint32 nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::VECTOR_WIDTH = SYMBOLS_PER_WORD
static

Definition at line 207 of file packedstream.h.

template<typename InputStream, typename Symbol, uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType = uint32>
const uint32 nvbio::PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType >::WORD_SIZE = uint32( sizeof(storage_type) )
static

Definition at line 205 of file packedstream.h.


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