yat  0.21pre
Public Member Functions | Friends | List of all members
theplu::yat::omic::BamPairIterator2< Base > Class Template Reference

#include <yat/omic/BamPairIterator2.h>

Inheritance diagram for theplu::yat::omic::BamPairIterator2< Base >:

Public Member Functions

 BamPairIterator2 (void)
 default constructor
 
 BamPairIterator2 (Base begin, Base end)
 
BamPairIterator2::pointer operator-> (void) const
 

Friends

class boost::iterator_core_access
 

Detailed Description

template<typename Base>
class theplu::yat::omic::BamPairIterator2< Base >

Type Requirments:

This iterator works on a sorted range [begin, end) and provides a covenient way to access the pairs rather than the reads individually. The pairs are iterated such that they appear sorted with respect to first().

If read pairs with large isize (tlen) are included the iterator will consumer a lot of memory because iterator does store virtually all reads in the underlying range between the current first() and its mate, second().

Note that BamPairIterator2 is a single-pass iterator, i.e., once it is incremented the behaviour of its copies is undefined.

See also
BamPairBuffer
Since
New in yat 0.18

Constructor & Destructor Documentation

◆ BamPairIterator2()

template<typename Base >
theplu::yat::omic::BamPairIterator2< Base >::BamPairIterator2 ( Base  begin,
Base  end 
)
explicit

Creates an iterator that will work on [begin, end).

Note
Input range [begin, end ) must be sorted or behaviour is undefined.

Member Function Documentation

◆ operator->()

template<typename Base>
BamPairIterator2::pointer theplu::yat::omic::BamPairIterator2< Base >::operator-> ( void  ) const
inline

This is workaround implementation of operator-> when implementation in base class (boost) does not compile. This implementation may be slow, so when using old boost it often prefereble to use operator*.


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

Generated on Wed Jan 25 2023 03:34:29 for yat by  doxygen 1.8.14