A library for working with phylogenetic and population genetic data.
v0.32.0
FrequencyTableInputStream::Iterator Class Reference

#include <genesis/population/format/frequency_table_input_stream.hpp>

Detailed Description

Iterator over loci of the input sources.

This is the class that does the actual work of turning the underlying file data into our Variant and SampleCounts samples. Use the dereference operator*() and operator->() to get the Variant at the current locus of the iteration.

Definition at line 107 of file frequency_table_input_stream.hpp.

Public Member Functions

 Iterator (self_type &&)=default
 
 Iterator (self_type const &)=default
 
 ~Iterator ()=default
 
bool operator!= (self_type const &it) const
 
value_type const & operator* () const
 
self_typeoperator++ ()
 
value_type const * operator-> () const
 
Iteratoroperator= (self_type &&)=default
 
Iteratoroperator= (self_type const &)=default
 
bool operator== (self_type const &it) const
 Compare two iterators for equality. More...
 
std::vector< std::string > sample_names () const
 Return the sample names found in the header, in the order in which they are in the Variant of each iteration. More...
 

Public Types

using iterator_category = std::input_iterator_tag
 
using pointer = value_type const *
 
using reference = value_type const &
 
using self_type = FrequencyTableInputStream::Iterator
 
using value_type = Variant
 

Public Attributes

friend FrequencyTableInputStream
 

Constructor & Destructor Documentation

◆ ~Iterator()

~Iterator ( )
default

◆ Iterator() [1/2]

Iterator ( self_type const &  )
default

◆ Iterator() [2/2]

Iterator ( self_type &&  )
default

Member Function Documentation

◆ operator!=()

bool operator!= ( self_type const &  it) const
inline

Definition at line 261 of file frequency_table_input_stream.hpp.

◆ operator*()

value_type const& operator* ( ) const
inline

Definition at line 219 of file frequency_table_input_stream.hpp.

◆ operator++()

self_type& operator++ ( )
inline

Definition at line 234 of file frequency_table_input_stream.hpp.

◆ operator->()

value_type const* operator-> ( ) const
inline

Definition at line 208 of file frequency_table_input_stream.hpp.

◆ operator=() [1/2]

Iterator& operator= ( self_type &&  )
default

◆ operator=() [2/2]

Iterator& operator= ( self_type const &  )
default

◆ operator==()

bool operator== ( self_type const &  it) const
inline

Compare two iterators for equality.

Any two iterators that are created by calling begin() on the same FrequencyTableInputStream instance will compare equal, as long as neither of them is past-the-end. A valid (not past-the-end) iterator and an end() iterator will not compare equal; all past-the-end iterators compare equal, independently from which parent they were created.

Definition at line 256 of file frequency_table_input_stream.hpp.

◆ sample_names()

std::vector< std::string > sample_names ( ) const

Return the sample names found in the header, in the order in which they are in the Variant of each iteration.

Definition at line 62 of file frequency_table_input_stream.cpp.

Member Typedef Documentation

◆ iterator_category

using iterator_category = std::input_iterator_tag

Definition at line 119 of file frequency_table_input_stream.hpp.

◆ pointer

using pointer = value_type const*

Definition at line 117 of file frequency_table_input_stream.hpp.

◆ reference

using reference = value_type const&

Definition at line 118 of file frequency_table_input_stream.hpp.

◆ self_type

◆ value_type

Definition at line 116 of file frequency_table_input_stream.hpp.

Member Data Documentation

◆ FrequencyTableInputStream


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