NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Static Public Methods | Static Public Members | List of all members
nvbio::vectorized_string< vector_view< 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>
struct nvbio::vectorized_string< vector_view< PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > > >

PackedStream specialization of the Vectorized String Loading interface

Definition at line 313 of file vectorized_string.h.

#include <vectorized_string.h>

Public Types

typedef vector_view
< PackedStream< InputStream,
Symbol, SYMBOL_SIZE_T,
BIG_ENDIAN_T, IndexType > > 
string_type
 
typedef Symbol value_type
 
typedef IndexType index_type
 
typedef PackedStream
< InputStream, Symbol,
SYMBOL_SIZE_T, BIG_ENDIAN_T,
IndexType > 
packed_stream_type
 
typedef InputStream storage_iterator
 
typedef
packed_stream_type::storage_type 
storage_type
 

Static Public Methods

NVBIO_FORCEINLINE static
NVBIO_HOST_DEVICE uint2 
range (const string_type &string)
 
NVBIO_FORCEINLINE static
NVBIO_HOST_DEVICE void 
load (const string_type &string, const uint32 offset, value_type *vector)
 

Static Public Members

static const uint32 SYMBOL_SIZE = SYMBOL_SIZE_T
 
static const uint32 SYMBOL_COUNT = 1u << SYMBOL_SIZE_T
 
static const uint32 VECTOR_WIDTH = packed_stream_type::VECTOR_WIDTH
 the intrinsic vector width More...
 

Member Typedef Documentation

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
typedef IndexType nvbio::vectorized_string< vector_view< PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > > >::index_type

Definition at line 317 of file vectorized_string.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
typedef PackedStream<InputStream,Symbol,SYMBOL_SIZE_T,BIG_ENDIAN_T,IndexType> nvbio::vectorized_string< vector_view< PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > > >::packed_stream_type

Definition at line 318 of file vectorized_string.h.

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

Definition at line 319 of file vectorized_string.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
typedef packed_stream_type::storage_type nvbio::vectorized_string< vector_view< PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > > >::storage_type

Definition at line 320 of file vectorized_string.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
typedef vector_view< PackedStream<InputStream,Symbol,SYMBOL_SIZE_T,BIG_ENDIAN_T,IndexType> > nvbio::vectorized_string< vector_view< PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > > >::string_type

Definition at line 315 of file vectorized_string.h.

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

Definition at line 316 of file vectorized_string.h.

Member Function Documentation

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE static NVBIO_HOST_DEVICE void nvbio::vectorized_string< vector_view< PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > > >::load ( const string_type string,
const uint32  offset,
value_type vector 
)
inlinestatic

load a vector with the intrinsic vector width

Definition at line 344 of file vectorized_string.h.

template<typename InputStream , typename Symbol , uint32 SYMBOL_SIZE_T, bool BIG_ENDIAN_T, typename IndexType >
NVBIO_FORCEINLINE static NVBIO_HOST_DEVICE uint2 nvbio::vectorized_string< vector_view< PackedStream< InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType > > >::range ( const string_type string)
inlinestatic

determine the vectorized range of a string using the intrinsic vector width

Definition at line 329 of file vectorized_string.h.

Member Data Documentation

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

Definition at line 323 of file vectorized_string.h.

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

Definition at line 322 of file vectorized_string.h.

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

the intrinsic vector width

Definition at line 324 of file vectorized_string.h.


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