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

#include <yat/omic/BamPairIterator.h>

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

Public Member Functions

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

Friends

class boost::iterator_core_access
 

Related Functions

(Note that these are not member functions.)

template<typename Base >
BamPairIterator< Base > bam_pair_iterator (Base base, Base end)
 
template<typename Base >
BamPairIterator< Base > bam_pair_iterator (Base end)
 
template<typename Base >
BamPairIterator2< Base > bam_pair_iterator2 (Base base, Base end)
 
template<typename Base >
BamPairIterator2< Base > bam_pair_iterator2 (Base end)
 

Detailed Description

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

Since
New in yat 0.12

Type Requirments:

This iterator works on a sorted range [begin, end) and provides a convenient way to access the pairs rather than the reads individually. When BamPairIterator is incremented, rather than just step to next element in [begin, end), BamPairIterator keeps stepping until it finds a read whose mate it has already seen, and operator* return the pair of BamReads.

The resulting iterator is sorted with respect to second().

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

Constructor & Destructor Documentation

◆ BamPairIterator()

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

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

See also
bam_pair_iterator
Note
Input range [first, last ) must be sorted or behaviour is undefined.

Member Function Documentation

◆ operator->()

template<typename Base>
BamPairIterator::pointer theplu::yat::omic::BamPairIterator< 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*.

Friends And Related Function Documentation

◆ bam_pair_iterator() [1/2]

template<typename Base >
BamPairIterator< Base > bam_pair_iterator ( Base  base,
Base  end 
)
related

Convenient function to create BamPairIterator

◆ bam_pair_iterator() [2/2]

template<typename Base >
BamPairIterator< Base > bam_pair_iterator ( Base  end)
related

Convenient function to create BamPairIterator that works on empty range. Equivalent to bam_pair_iterator(end, end).

◆ bam_pair_iterator2() [1/2]

template<typename Base >
BamPairIterator2< Base > bam_pair_iterator2 ( Base  base,
Base  end 
)
related

Convenient function to create BamPairIterator

◆ bam_pair_iterator2() [2/2]

template<typename Base >
BamPairIterator2< Base > bam_pair_iterator2 ( Base  end)
related

Convenient function to create BamPairIterator that works on empty range. Equivalent to bam_pair_iterator(end, end).


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

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