vdj_pipe
pipeline for processing DNA sequence data
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
vdj_pipe::Read_info_store Class Reference

Store sequence-related information. More...

#include <read_info_store.hpp>

Inheritance diagram for vdj_pipe::Read_info_store:
Inheritance graph
[legend]
Collaboration diagram for vdj_pipe::Read_info_store:
Collaboration graph
[legend]

Classes

struct  Err
 

Public Types

typedef name_citer_t const_iterator
 
typedef info_size_index_t::const_iterator size_iterator
 
typedef boost::iterator_range< size_iteratorsize_range
 

Public Member Functions

 Read_info_store ()
 
std::size_t size () const
 
bool empty () const
 
const_iterator begin () const
 
const_iterator end () const
 
size_range by_size () const
 
size_range by_size (const unsigned size) const
 
size_range by_size_range (const unsigned from, const unsigned to=std::numeric_limits< unsigned >::max()) const
 
Read_info const & operator[] (const Read_id iid) const
 
Read_id const * find (const boost::string_ref id, const bool reverse) const
 
Read_id insert (Read_info const &ri)
 

Private Types

typedef detail::Id_map< Read_id, Read_infoinfo_map_t
 
typedef detail::Getter< info_map_t, Read_id, Read_info, std::string const &,&Read_info::nameget_name
 
typedef detail::Getter< info_map_t, Read_id, Read_info, unsigned,&Read_info::sizeget_info_size
 
typedef boost::multi_index_container< Read_id, boost::multi_index::indexed_by< boost::multi_index::hashed_non_unique< boost::multi_index::tag< struct name_tag >, get_name >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< struct size_tag >, get_info_size > > > info_mi_t
 
typedef info_mi_t::index< name_tag >::type name_index_t
 
typedef name_index_t::const_iterator name_citer_t
 
typedef name_index_t::iterator name_iter
 
typedef boost::iterator_range< name_itername_range
 
typedef info_mi_t::index< size_tag >::type info_size_index_t
 

Private Member Functions

name_iter find_iter (const boost::string_ref id, const bool reverse) const
 

Static Private Member Functions

static info_mi_t::ctor_args_list info_index_init (info_map_t const &im)
 

Private Attributes

info_map_t info_map_
 
info_mi_t info_index_
 

Detailed Description

Store sequence-related information.

Member Typedef Documentation

typedef detail::Getter< info_map_t, Read_id, Read_info, std::string const&, &Read_info::name > vdj_pipe::Read_info_store::get_name
private
typedef boost::multi_index_container< Read_id, boost::multi_index::indexed_by< boost::multi_index::hashed_non_unique< boost::multi_index::tag<struct name_tag>, get_name >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<struct size_tag>, get_info_size > > > vdj_pipe::Read_info_store::info_mi_t
private
typedef info_mi_t::index<size_tag>::type vdj_pipe::Read_info_store::info_size_index_t
private
typedef name_index_t::const_iterator vdj_pipe::Read_info_store::name_citer_t
private
typedef info_mi_t::index<name_tag>::type vdj_pipe::Read_info_store::name_index_t
private
typedef name_index_t::iterator vdj_pipe::Read_info_store::name_iter
private
typedef boost::iterator_range<name_iter> vdj_pipe::Read_info_store::name_range
private
typedef info_size_index_t::const_iterator vdj_pipe::Read_info_store::size_iterator
typedef boost::iterator_range<size_iterator> vdj_pipe::Read_info_store::size_range

Constructor & Destructor Documentation

vdj_pipe::Read_info_store::Read_info_store ( )
inline

Member Function Documentation

const_iterator vdj_pipe::Read_info_store::begin ( ) const
inline
size_range vdj_pipe::Read_info_store::by_size ( ) const
inline
Returns
range of all sequence info IDs ordered by size
size_range vdj_pipe::Read_info_store::by_size ( const unsigned  size) const
inline
Returns
range of sequence info IDs of % size size
size_range vdj_pipe::Read_info_store::by_size_range ( const unsigned  from,
const unsigned  to = std::numeric_limits<unsigned>::max() 
) const
inline
Returns
range of sequence info IDs that have % size in the range [from, to)
bool vdj_pipe::Read_info_store::empty ( ) const
inline
const_iterator vdj_pipe::Read_info_store::end ( ) const
inline
Read_id const* vdj_pipe::Read_info_store::find ( const boost::string_ref  id,
const bool  reverse 
) const
inline
name_iter vdj_pipe::Read_info_store::find_iter ( const boost::string_ref  id,
const bool  reverse 
) const
inlineprivate
static info_mi_t::ctor_args_list vdj_pipe::Read_info_store::info_index_init ( info_map_t const &  im)
inlinestaticprivate
Read_id vdj_pipe::Read_info_store::insert ( Read_info const &  ri)
inline
Read_info const& vdj_pipe::Read_info_store::operator[] ( const Read_id  iid) const
inline
std::size_t vdj_pipe::Read_info_store::size ( ) const
inline

Member Data Documentation

info_mi_t vdj_pipe::Read_info_store::info_index_
private
info_map_t vdj_pipe::Read_info_store::info_map_
private

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