Ignore:
Timestamp:
Oct 23, 2014, 1:18:15 PM (8 years ago)
Author:
Peter
Message:

In Pileup store reads in a std::list (rather than std::deque) to allow
easy erase as soon as we are one passed last base. Erasing reads
immediately implies we don't need a filter_iterator, but can use
list::const_iterator directly.

Fix a bug in Pileup::Entry, which held a BamRead? and CigarIterator? and
the latter is essentially a uint32_t* that is returned from
BamRead::cigar(). This caused problems in copy/assignment since the
BamRead? was copied by value and the CigarIterator? didn't point to
BamRead? in this class but to BamRead? in rhs. The problem was solved by
replacing the BamRead? by a shared_ptr<BamRead?>.

refs #806

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/yat/omic/CigarIterator.h

    r3329 r3332  
    6363     */
    6464    explicit CigarIterator(const uint32_t* p, size_t offset=0);
     65
     66    /**
     67       \return underlying iterator
     68     */
     69    const uint32_t* base(void) const;
    6570  private:
    6671    friend class boost::iterator_core_access;
Note: See TracChangeset for help on using the changeset viewer.