A library for working with phylogenetic data.
v0.25.0
VcfParallelInputIterator Class Reference

#include <genesis/population/formats/vcf_parallel_input_iterator.hpp>

Detailed Description

Iterate a set of input VCF/BCF file in parallel, that is, synchronize the iteration to be at the same positions in the genome at all times.

Currently, we only support to iterate to positions that exists in all input files at once, that is, we are skipping any positions that are not in all files.

Definition at line 57 of file vcf_parallel_input_iterator.hpp.

Public Member Functions

 VcfParallelInputIterator ()=default
 Create a default instance, with no input. This is also the past-the-end iterator. More...
 
 VcfParallelInputIterator (self_type &&)=default
 
 VcfParallelInputIterator (self_type const &)=default
 
 VcfParallelInputIterator (std::vector< std::string > const &filenames, size_t block_size=1024)
 Create an instance that reads from a set of input file names. More...
 
 ~VcfParallelInputIterator ()=default
 
std::vector< VcfInputIterator >::iterator begin ()
 
std::vector< VcfInputIterator >::const_iterator begin () const
 
std::vector< VcfInputIterator >::iterator end ()
 
std::vector< VcfInputIterator >::const_iterator end () const
 
std::string get_chromosome () const
 
size_t get_position () const
 
bool good () const
 
 operator bool () const
 
self_typeoperator++ ()
 
self_typeoperator++ (int)
 
self_typeoperator= (self_type &&)=default
 
self_typeoperator= (self_type const &)=default
 
VcfInputIteratoroperator[] (size_t index)
 
VcfInputIterator const & operator[] (size_t index) const
 
size_t size () const
 

Public Types

using self_type = VcfParallelInputIterator
 

Constructor & Destructor Documentation

◆ VcfParallelInputIterator() [1/4]

Create a default instance, with no input. This is also the past-the-end iterator.

◆ VcfParallelInputIterator() [2/4]

VcfParallelInputIterator ( std::vector< std::string > const &  filenames,
size_t  block_size = 1024 
)
inlineexplicit

Create an instance that reads from a set of input file names.

Definition at line 79 of file vcf_parallel_input_iterator.hpp.

◆ ~VcfParallelInputIterator()

◆ VcfParallelInputIterator() [3/4]

VcfParallelInputIterator ( self_type const &  )
default

◆ VcfParallelInputIterator() [4/4]

Member Function Documentation

◆ begin() [1/2]

std::vector<VcfInputIterator>::iterator begin ( )
inline

Definition at line 155 of file vcf_parallel_input_iterator.hpp.

◆ begin() [2/2]

std::vector<VcfInputIterator>::const_iterator begin ( ) const
inline

Definition at line 160 of file vcf_parallel_input_iterator.hpp.

◆ end() [1/2]

std::vector<VcfInputIterator>::iterator end ( )
inline

Definition at line 165 of file vcf_parallel_input_iterator.hpp.

◆ end() [2/2]

std::vector<VcfInputIterator>::const_iterator end ( ) const
inline

Definition at line 170 of file vcf_parallel_input_iterator.hpp.

◆ get_chromosome()

std::string get_chromosome ( ) const
inline

Definition at line 191 of file vcf_parallel_input_iterator.hpp.

◆ get_position()

size_t get_position ( ) const
inline

Definition at line 197 of file vcf_parallel_input_iterator.hpp.

◆ good()

bool good ( ) const
inline

Definition at line 117 of file vcf_parallel_input_iterator.hpp.

◆ operator bool()

operator bool ( ) const
inlineexplicit

Definition at line 112 of file vcf_parallel_input_iterator.hpp.

◆ operator++() [1/2]

self_type& operator++ ( )
inline

Definition at line 179 of file vcf_parallel_input_iterator.hpp.

◆ operator++() [2/2]

self_type& operator++ ( int  )
inline

Definition at line 185 of file vcf_parallel_input_iterator.hpp.

◆ operator=() [1/2]

self_type& operator= ( self_type &&  )
default

◆ operator=() [2/2]

self_type& operator= ( self_type const &  )
default

◆ operator[]() [1/2]

VcfInputIterator& operator[] ( size_t  index)
inline

Definition at line 144 of file vcf_parallel_input_iterator.hpp.

◆ operator[]() [2/2]

VcfInputIterator const& operator[] ( size_t  index) const
inline

Definition at line 138 of file vcf_parallel_input_iterator.hpp.

◆ size()

size_t size ( ) const
inline

Definition at line 150 of file vcf_parallel_input_iterator.hpp.

Member Typedef Documentation

◆ self_type


The documentation for this class was generated from the following file: