bpp-core3  3.0.0
bpp::TemplateStreamSequenceIterator< SequenceType > Class Template Reference

A sequence iterator based on a sequence stream. More...

#include <Bpp/Seq/Io/StreamSequenceIterator.h>

+ Inheritance diagram for bpp::TemplateStreamSequenceIterator< SequenceType >:
+ Collaboration diagram for bpp::TemplateStreamSequenceIterator< SequenceType >:

Public Member Functions

 StreamSequenceIterator (std::shared_ptr< ISequenceStream > seqStream, std::shared_ptr< std::istream > stream, std::shared_ptr< const Alphabet > alphabet)
 
virtual ~StreamSequenceIterator ()
 
std::unique_ptr< SequenceType > nextSequence () override
 
bool hasMoreSequences () const override
 

Private Member Functions

 StreamSequenceIterator (const StreamSequenceIterator &ssi)
 
StreamSequenceIteratoroperator= (const StreamSequenceIterator &ssi)
 

Private Attributes

std::shared_ptr< const Alphabetalphabet_
 
std::shared_ptr< const ISequenceStream< SequenceType > > seqStream_
 
str::shared_ptr< std::istream > stream_
 
SequenceType * nextSeq_
 

Detailed Description

template<class SequenceType>
class bpp::TemplateStreamSequenceIterator< SequenceType >

A sequence iterator based on a sequence stream.

Definition at line 21 of file StreamSequenceIterator.h.

Constructor & Destructor Documentation

◆ ~StreamSequenceIterator()

template<class SequenceType>
virtual bpp::TemplateStreamSequenceIterator< SequenceType >::~StreamSequenceIterator ( )
inlinevirtual

Definition at line 49 of file StreamSequenceIterator.h.

Member Function Documentation

◆ hasMoreSequences()

template<class SequenceType>
bool bpp::TemplateStreamSequenceIterator< SequenceType >::hasMoreSequences ( ) const
inlineoverridevirtual

◆ nextSequence()

template<class SequenceType>
std::unique_ptr<SequenceType> bpp::TemplateStreamSequenceIterator< SequenceType >::nextSequence ( )
inlineoverridevirtual

◆ operator=()

template<class SequenceType>
StreamSequenceIterator& bpp::TemplateStreamSequenceIterator< SequenceType >::operator= ( const StreamSequenceIterator ssi)
inlineprivate

Definition at line 59 of file StreamSequenceIterator.h.

◆ StreamSequenceIterator() [1/2]

template<class SequenceType>
bpp::TemplateStreamSequenceIterator< SequenceType >::StreamSequenceIterator ( std::shared_ptr< ISequenceStream seqStream,
std::shared_ptr< std::istream >  stream,
std::shared_ptr< const Alphabet alphabet 
)
inline

◆ StreamSequenceIterator() [2/2]

template<class SequenceType>
bpp::TemplateStreamSequenceIterator< SequenceType >::StreamSequenceIterator ( const StreamSequenceIterator &  ssi)
inlineprivate

Definition at line 53 of file StreamSequenceIterator.h.

Member Data Documentation

◆ alphabet_

template<class SequenceType>
std::shared_ptr<const Alphabet> bpp::TemplateStreamSequenceIterator< SequenceType >::alphabet_
private

Definition at line 25 of file StreamSequenceIterator.h.

◆ nextSeq_

◆ seqStream_

template<class SequenceType>
std::shared_ptr< const ISequenceStream<SequenceType> > bpp::TemplateStreamSequenceIterator< SequenceType >::seqStream_
private

Definition at line 26 of file StreamSequenceIterator.h.

◆ stream_

template<class SequenceType>
str::shared_ptr<std::istream> bpp::TemplateStreamSequenceIterator< SequenceType >::stream_
private

Definition at line 27 of file StreamSequenceIterator.h.


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