1 #ifndef UNITIG_ITERATOR_HPP 2 #define UNITIG_ITERATOR_HPP 5 #include "KmerHashTable.hpp" 6 #include "CompressedCoverage.hpp" 35 template<
typename Unitig_data_t =
void,
typename Graph_data_t =
void,
bool is_const = false>
36 class unitigIterator :
public std::iterator<std::input_iterator_tag, UnitigMap<Unitig_data_t, Graph_data_t, is_const>, int> {
38 typedef Unitig_data_t U;
39 typedef Graph_data_t G;
43 typedef typename std::conditional<is_const, const CompactedDBG<U, G>*,
CompactedDBG<U, G>*>::type CompactedDBG_ptr_t;
100 size_t h_kmers_ccov_sz;
105 typename KmerHashTable<CompressedCoverage_t<U>>::const_iterator it_h_kmers_ccov;
109 CompactedDBG_ptr_t cdbg;
112 #include "UnitigIterator.tcc" Iterator for the unitigs of a Compacted de Bruijn graph.
Definition: UnitigIterator.hpp:36
unitigIterator & operator++()
Prefix increment, iterate over the next unitig.
Represent a Compacted de Bruijn graph.
Definition: CompactedDBG.hpp:297
UnitigMap type interface.
const UnitigMap< U, G, is_const > * operator->() const
Dereference operator.
bool operator!=(const unitigIterator &o) const
Inequality operator: check if two unitigIterator are different.
unitigIterator()
Constructor.
const UnitigMap< U, G, is_const > & operator*() const
Indirection operator.
bool operator==(const unitigIterator &o) const
Equality operator: check if two unitigIterator are the same.