Go to the documentation of this file. 1 #ifndef BIFROST_UNITIG_ITERATOR_HPP
2 #define BIFROST_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"
unitigIterator(const unitigIterator &o)
Copy constructor.
unitigIterator operator++(int)
Postfix increment, iterate over the next unitig.
UnitigMap type interface.
Contain all the information for the mapping of a k-mer or a sequence to a unitig of a Compacted de Br...
Definition: UnitigMap.hpp:92
unitigIterator & operator++()
Prefix increment, iterate over the next unitig.
unitigIterator()
Constructor.
const UnitigMap< U, G, is_const > * operator->() const
Dereference operator.
const UnitigMap< U, G, is_const > & operator*() const
Indirection operator.
bool operator!=(const unitigIterator &o) const
Inequality operator: check if two unitigIterator are different.
bool operator==(const unitigIterator &o) const
Equality operator: check if two unitigIterator are the same.
Iterator for the unitigs of a Compacted de Bruijn graph.
Definition: UnitigIterator.hpp:36
unitigIterator(CompactedDBG_ptr_t cdbg_)
Constructor.
Represent a Compacted de Bruijn graph.
Definition: CompactedDBG.hpp:313