NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | List of all members
nvbio::SuffixSet< SequenceType, SuffixIterator > Struct Template Reference

Detailed description

template< typename SequenceType, typename SuffixIterator>
struct nvbio::SuffixSet< SequenceType, SuffixIterator >

Represent a set of suffixes of a string or string-set. A SuffixSet is a String Set.
For a string T[0,...,n-1], a suffix is a substring T[i,n). A SuffixSet is hence defined by a string and a collection of indices { i_0, ..., i_m }. These coordinates must be of type string_suffix_coord_type or long_string_suffix_coord_type.
For a string-set, an prefix is instead defined as a pair (k,i), where k denotes the string index in the set and i denotes the suffix starting coordinate. These coordinates must be of type string_set_suffix_coord_type or long_string_set_suffix_coord_type.
Template Parameters
SequenceTypethe string or string-set type
SuffixIteratorthe suffix iterator type - value_type can be string_suffix_coord_type for strings, string_set_suffix_coord_type

Definition at line 441 of file suffix.h.

#include <suffix.h>

Inheritance diagram for nvbio::SuffixSet< SequenceType, SuffixIterator >:
nvbio::SuffixSetCore< SequenceType, SuffixIterator, vector_traits< std::iterator_traits< SuffixIterator >::value_type >::DIM >

Public Types

typedef SuffixSetCore
< SequenceType, SuffixIterator,
vector_traits< typename
std::iterator_traits
< SuffixIterator >::value_type >
::DIM > 
base_type
 
typedef SequenceType sequence_type
 the underlying sequence type More...
 
typedef SuffixIterator suffix_iterator
 the underlingy suffix iterator type More...
 
typedef iterator_system
< SuffixIterator >::type 
system_tag
 the system tag More...
 
typedef base_type::coord_type coord_type
 the suffix coordinates type More...
 
typedef base_type::string_type string_type
 the suffix string type More...
 
typedef StringSetIterator
< SuffixSet< SequenceType,
SuffixIterator > > 
iterator
 the iterator type More...
 
typedef StringSetIterator
< SuffixSet< SequenceType,
SuffixIterator > > 
const_iterator
 the const_iterator type More...
 

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE SuffixSet ()
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE SuffixSet (const uint32 size, const sequence_type sequence, const suffix_iterator suffixes)
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 

Member Typedef Documentation

template<typename SequenceType , typename SuffixIterator >
typedef SuffixSetCore< SequenceType, SuffixIterator, vector_traits<typename std::iterator_traits<SuffixIterator>::value_type>::DIM> nvbio::SuffixSet< SequenceType, SuffixIterator >::base_type

Definition at line 449 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
typedef StringSetIterator< SuffixSet<SequenceType,SuffixIterator> > nvbio::SuffixSet< SequenceType, SuffixIterator >::const_iterator

the const_iterator type

Definition at line 459 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
typedef base_type::coord_type nvbio::SuffixSet< SequenceType, SuffixIterator >::coord_type

the suffix coordinates type

Definition at line 455 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
typedef StringSetIterator< SuffixSet<SequenceType,SuffixIterator> > nvbio::SuffixSet< SequenceType, SuffixIterator >::iterator

the iterator type

Definition at line 458 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
typedef SequenceType nvbio::SuffixSet< SequenceType, SuffixIterator >::sequence_type

the underlying sequence type

Definition at line 451 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
typedef base_type::string_type nvbio::SuffixSet< SequenceType, SuffixIterator >::string_type

the suffix string type

Definition at line 456 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
typedef SuffixIterator nvbio::SuffixSet< SequenceType, SuffixIterator >::suffix_iterator

the underlingy suffix iterator type

Definition at line 452 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
typedef iterator_system<SuffixIterator>::type nvbio::SuffixSet< SequenceType, SuffixIterator >::system_tag

the system tag

Definition at line 453 of file suffix.h.

Constructor & Destructor Documentation

template<typename SequenceType , typename SuffixIterator >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::SuffixSet< SequenceType, SuffixIterator >::SuffixSet ( )
inline

constructor

Definition at line 464 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::SuffixSet< SequenceType, SuffixIterator >::SuffixSet ( const uint32  size,
const sequence_type  sequence,
const suffix_iterator  suffixes 
)
inline

constructor

Definition at line 469 of file suffix.h.

Member Function Documentation

template<typename SequenceType , typename SuffixIterator >
const_iterator nvbio::SuffixSet< SequenceType, SuffixIterator >::begin ( void  ) const
inline

begin iterator

Definition at line 477 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
iterator nvbio::SuffixSet< SequenceType, SuffixIterator >::begin ( void  )
inline

begin iterator

Definition at line 485 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
const_iterator nvbio::SuffixSet< SequenceType, SuffixIterator >::end ( void  ) const
inline

begin iterator

Definition at line 481 of file suffix.h.

template<typename SequenceType , typename SuffixIterator >
iterator nvbio::SuffixSet< SequenceType, SuffixIterator >::end ( void  )
inline

begin iterator

Definition at line 489 of file suffix.h.


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