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

Detailed description

template< typename SequenceType, typename InfixIterator>
struct nvbio::InfixSet< SequenceType, InfixIterator >

Represent a set of infixes of a string or string-set. An InfixSet is a String Set.
For a string T[0,...,n-1], an infix is a substring T[i,j), with i < j. An InfixSet is hence defined by a string and a collection of ranges { (i_0,j_0), ..., (i_m,j_m) }. These coordinates must be of type string_infix_coord_type or long_string_infix_coord_type.
For a string-set, an infix is instead defined as a tuple (k,i,j), where k denotes the string index in the set and (i,j) denotes the infix range within the selected string. These coordinates must be of type string_set_infix_coord_type (which for efficiency purposes is a 16-byte aligned uint4) or long_string_set_infix_coord_type.
Template Parameters
SequenceTypethe string or string-set type
InfixIteratorthe infix iterator type - value_type can be string_infix_coord_type for strings, string_set_infix_coord_type for string-sets

Definition at line 541 of file infix.h.

#include <infix.h>

Inheritance diagram for nvbio::InfixSet< SequenceType, InfixIterator >:
nvbio::InfixSetCore< SequenceType, InfixIterator, vector_traits< std::iterator_traits< InfixIterator >::value_type >::DIM >

Public Types

typedef InfixSetCore
< SequenceType, InfixIterator,
vector_traits< typename
std::iterator_traits
< InfixIterator >::value_type >
::DIM > 
base_type
 
typedef SequenceType sequence_type
 the underlying sequence type More...
 
typedef InfixIterator infix_iterator
 the underlingy infix iterator type More...
 
typedef iterator_system
< InfixIterator >::type 
system_tag
 the system tag More...
 
typedef base_type::coord_type coord_type
 the infix coordinates type More...
 
typedef base_type::string_type string_type
 the infix string type More...
 
typedef StringSetIterator
< InfixSet< SequenceType,
InfixIterator > > 
iterator
 the iterator type More...
 
typedef StringSetIterator
< InfixSet< SequenceType,
InfixIterator > > 
const_iterator
 the const_iterator type More...
 

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE InfixSet ()
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE InfixSet (const uint32 size, const sequence_type sequence, const infix_iterator infixes)
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 

Member Typedef Documentation

template<typename SequenceType , typename InfixIterator >
typedef InfixSetCore< SequenceType, InfixIterator, vector_traits<typename std::iterator_traits<InfixIterator>::value_type>::DIM> nvbio::InfixSet< SequenceType, InfixIterator >::base_type

Definition at line 549 of file infix.h.

template<typename SequenceType , typename InfixIterator >
typedef StringSetIterator< InfixSet<SequenceType,InfixIterator> > nvbio::InfixSet< SequenceType, InfixIterator >::const_iterator

the const_iterator type

Definition at line 559 of file infix.h.

template<typename SequenceType , typename InfixIterator >
typedef base_type::coord_type nvbio::InfixSet< SequenceType, InfixIterator >::coord_type

the infix coordinates type

Definition at line 555 of file infix.h.

template<typename SequenceType , typename InfixIterator >
typedef InfixIterator nvbio::InfixSet< SequenceType, InfixIterator >::infix_iterator

the underlingy infix iterator type

Definition at line 552 of file infix.h.

template<typename SequenceType , typename InfixIterator >
typedef StringSetIterator< InfixSet<SequenceType,InfixIterator> > nvbio::InfixSet< SequenceType, InfixIterator >::iterator

the iterator type

Definition at line 558 of file infix.h.

template<typename SequenceType , typename InfixIterator >
typedef SequenceType nvbio::InfixSet< SequenceType, InfixIterator >::sequence_type

the underlying sequence type

Definition at line 551 of file infix.h.

template<typename SequenceType , typename InfixIterator >
typedef base_type::string_type nvbio::InfixSet< SequenceType, InfixIterator >::string_type

the infix string type

Definition at line 556 of file infix.h.

template<typename SequenceType , typename InfixIterator >
typedef iterator_system<InfixIterator>::type nvbio::InfixSet< SequenceType, InfixIterator >::system_tag

the system tag

Definition at line 553 of file infix.h.

Constructor & Destructor Documentation

template<typename SequenceType , typename InfixIterator >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::InfixSet< SequenceType, InfixIterator >::InfixSet ( )
inline

constructor

Definition at line 564 of file infix.h.

template<typename SequenceType , typename InfixIterator >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::InfixSet< SequenceType, InfixIterator >::InfixSet ( const uint32  size,
const sequence_type  sequence,
const infix_iterator  infixes 
)
inline

constructor

Definition at line 569 of file infix.h.

Member Function Documentation

template<typename SequenceType , typename InfixIterator >
const_iterator nvbio::InfixSet< SequenceType, InfixIterator >::begin ( void  ) const
inline

begin iterator

Definition at line 577 of file infix.h.

template<typename SequenceType , typename InfixIterator >
iterator nvbio::InfixSet< SequenceType, InfixIterator >::begin ( void  )
inline

begin iterator

Definition at line 585 of file infix.h.

template<typename SequenceType , typename InfixIterator >
const_iterator nvbio::InfixSet< SequenceType, InfixIterator >::end ( void  ) const
inline

begin iterator

Definition at line 581 of file infix.h.

template<typename SequenceType , typename InfixIterator >
iterator nvbio::InfixSet< SequenceType, InfixIterator >::end ( void  )
inline

begin iterator

Definition at line 589 of file infix.h.


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