Gamgee
You miserable little maggot. I'll stove your head in!
|
#include <indexed_variant_iterator.h>
Public Member Functions | |
IndexedVariantIterator () | |
creates an empty iterator (used for the end() method) More... | |
IndexedVariantIterator (const std::shared_ptr< htsFile > &file_ptr, const std::shared_ptr< hts_idx_t > &index_ptr, const std::shared_ptr< bcf_hdr_t > &header_ptr, const std::vector< std::string > &interval_list=all_intervals) | |
initializes a new iterator based on a file, an index, a header, and a vector of intervals More... | |
IndexedVariantIterator (const IndexedVariantIterator &other)=delete | |
an IndexedVariantIterator cannot be copied safely, as it is iterating over a stream. More... | |
IndexedVariantIterator & | operator= (const IndexedVariantIterator &other)=delete |
IndexedVariantIterator (IndexedVariantIterator &&other)=default | |
an IndexedVariantIterator can be moved More... | |
IndexedVariantIterator & | operator= (IndexedVariantIterator &&other)=default |
bool | operator!= (const IndexedVariantIterator &rhs) |
inequality operator (needed by for-each loop) More... | |
Public Member Functions inherited from gamgee::VariantIterator | |
VariantIterator ()=default | |
creates an empty iterator (used for the end() method) More... | |
VariantIterator (const std::shared_ptr< htsFile > &variant_file_ptr, const std::shared_ptr< bcf_hdr_t > &variant_header_ptr) | |
initializes a new iterator based on an input stream (e.g. a vcf/bcf file, stdin, ...) More... | |
VariantIterator (VariantIterator &&)=default | |
a VariantIterator move constructor guarantees all objects will have the same state. More... | |
VariantIterator & | operator= (VariantIterator &&)=default |
a VariantIterator move assignment operator guarantees all objects will have the same state. More... | |
VariantIterator (const VariantIterator &)=delete | |
a VariantIterator cannot be copy-constructed. More... | |
VariantIterator & | operator= (const VariantIterator &)=delete |
a VariantIterator cannot be copied. More... | |
bool | operator!= (const VariantIterator &rhs) const |
inequality operator (needed by for-each loop) More... | |
Variant & | operator* () |
dereference operator (needed by for-each loop) More... | |
Variant & | operator++ () |
pre-fetches the next record and tests for end of file More... | |
bool | empty () const |
returns whether the iterator has no additional records More... | |
Static Public Attributes | |
static const std::vector < std::string > | all_intervals = {"."} |
Protected Member Functions | |
void | fetch_next_record () override |
fetches next Variant record into existing htslib memory without making a copy More... | |
Additional Inherited Members | |
Protected Attributes inherited from gamgee::VariantIterator | |
std::shared_ptr< htsFile > | m_variant_file_ptr |
pointer to the vcf/bcf file More... | |
std::shared_ptr< bcf_hdr_t > | m_variant_header_ptr |
pointer to the variant header More... | |
std::shared_ptr< bcf1_t > | m_variant_record_ptr |
pointer to the internal structure of the variant record. Useful to only allocate it once. More... | |
Variant | m_variant_record |
temporary record to hold between fetch (operator++) and serve (operator*) More... | |
gamgee::IndexedVariantIterator::IndexedVariantIterator | ( | ) |
creates an empty iterator (used for the end() method)
gamgee::IndexedVariantIterator::IndexedVariantIterator | ( | const std::shared_ptr< htsFile > & | file_ptr, |
const std::shared_ptr< hts_idx_t > & | index_ptr, | ||
const std::shared_ptr< bcf_hdr_t > & | header_ptr, | ||
const std::vector< std::string > & | interval_list = all_intervals |
||
) |
initializes a new iterator based on a file, an index, a header, and a vector of intervals
file_ptr | shared pointer to a BCF file opened via the bcf_open() macro from htslib |
index_ptr | shared pointer to a BCF file index (CSI) created with the bcf_index_load() macro from htslib |
header_ptr | shared pointer to a BCF file header created with the bcf_hdr_read() macro from htslib |
interval_list | vector of intervals represented by strings |
|
delete |
an IndexedVariantIterator cannot be copied safely, as it is iterating over a stream.
|
default |
an IndexedVariantIterator can be moved
|
overrideprotectedvirtual |
fetches next Variant record into existing htslib memory without making a copy
pre-fetches the next variant record
Reimplemented from gamgee::VariantIterator.
bool gamgee::IndexedVariantIterator::operator!= | ( | const IndexedVariantIterator & | rhs | ) |
inequality operator (needed by for-each loop)
rhs | the other IndexedVariantIterator to compare to |
|
delete |
|
default |
|
static |