5 #ifndef BPP_SEQ_IO_STREAMSEQUENCEITERATOR_H
6 #define BPP_SEQ_IO_STREAMSEQUENCEITERATOR_H
9 #include "../SequenceIterator.h"
20 template<
class SequenceType>
26 std::shared_ptr< const ISequenceStream<SequenceType>>
seqStream_;
32 std::shared_ptr<ISequenceStream> seqStream,
33 std::shared_ptr<std::istream> stream,
34 std::shared_ptr<const Alphabet> alphabet) :
71 unique_ptr<SequenceType> seq(
nextSeq_);
88 using StreamSequenceIterator = TemplateStreamSequenceIterator<Sequence>
89 using StreamSequenceWithQualityIterator = TemplateStreamSequenceIterator<SequenceWithQuality>
90 using StreamProbabilisticSequenceIterator = TemplateStreamSequenceIterator<ProbabilisticSequence>
Generic sequence iterator interface, allowing to loop over sequences.
A sequence iterator based on a sequence stream.
StreamSequenceIterator(std::shared_ptr< ISequenceStream > seqStream, std::shared_ptr< std::istream > stream, std::shared_ptr< const Alphabet > alphabet)
StreamSequenceIterator & operator=(const StreamSequenceIterator &ssi)
StreamSequenceIterator(const StreamSequenceIterator &ssi)
str::shared_ptr< std::istream > stream_
bool hasMoreSequences() const override
std::shared_ptr< const Alphabet > alphabet_
std::unique_ptr< SequenceType > nextSequence() override
virtual ~StreamSequenceIterator()
std::shared_ptr< const ISequenceStream< SequenceType > > seqStream_
This alphabet is used to deal NumericAlphabet.