1 #ifndef __gamgee__reference_block_splitting_variant_iterator__
2 #define __gamgee__reference_block_splitting_variant_iterator__
61 std::vector<VariantIndexPair>&
operator*();
73 void fetch_next_split_vector();
76 inline void populate_pending();
79 inline void populate_split_variants();
82 std::vector<VariantIndexPair> m_pending_variants;
85 std::vector<VariantIndexPair> m_split_variants;
87 unsigned int m_pending_chrom = UINT_MAX;
88 unsigned int m_pending_start = UINT_MAX;
89 unsigned int m_pending_min_end = UINT_MAX;
94 #endif // __gamgee__reference_block_splitting_variant_iterator__
ReferenceBlockSplittingVariantIterator()=default
creates an empty iterator (used for the end() method)
Utility class to enable for-each style iteration in the MultipleVariantReader class.
Definition: multiple_variant_iterator.h:20
bool operator!=(const ReferenceBlockSplittingVariantIterator &rhs)
pseudo-inequality operator (needed by for-each loop)
Definition: reference_block_splitting_variant_iterator.cpp:34
std::vector< VariantIndexPair > & operator++()
advances the iterator, fetching the next vector
Definition: reference_block_splitting_variant_iterator.cpp:27
Definition: exceptions.h:9
ReferenceBlockSplittingVariantIterator & operator=(ReferenceBlockSplittingVariantIterator &&)=default
Utility class to handle reference blocks while iterating over multiple variant files.
Definition: reference_block_splitting_variant_iterator.h:16
std::vector< VariantIndexPair > & operator*()
dereference operator (needed by for-each loop)
Definition: reference_block_splitting_variant_iterator.cpp:23