40 #ifndef _MAFITERATOR_H_ 41 #define _MAFITERATOR_H_ 53 class IterationListener;
100 iterationListeners_.push_back(listener);
105 fireIterationStartSignal_();
108 MafBlock* block = analyseCurrentBlock_();
110 fireIterationMoveSignal_(*block);
112 fireIterationStopSignal_();
120 virtual MafBlock* analyseCurrentBlock_() = 0;
121 virtual void fireIterationStartSignal_();
122 virtual void fireIterationMoveSignal_(
const MafBlock& currentBlock);
123 virtual void fireIterationStopSignal_();
141 virtual MafBlock* nextRemovedBlock() throw (Exception) = 0;
160 iterator_(iterator), currentBlock_(0),
161 logstream_(ApplicationTools::message) {}
166 iterator_(it.iterator_), currentBlock_(0),
167 logstream_(it.logstream_) {}
170 AbstractMafIterator::operator=(it);
191 iterator_(iterator) {}
195 iterator_(iterator.iterator_) {}
230 secondaryIterator_(iterator.secondaryIterator_)
242 currentBlock_ = iterator_->nextBlock();
246 return currentBlock_;
254 #endif //_MAFITERATOR_H_
TrashIteratorAdapter(const TrashIteratorAdapter &iterator)
virtual ~AbstractMafIterator()
TrashIteratorAdapter & operator=(const TrashIteratorAdapter &iterator)
MafIteratorSynchronizer(MafIterator *primaryIterator, MafIterator *secondaryIterator)
MafBlock * analyseCurrentBlock_()
MafIteratorSynchronizer(const MafIteratorSynchronizer &iterator)
OutputStream * logstream_
MafIteratorSynchronizer & operator=(const MafIteratorSynchronizer &iterator)
void addIterationListener(IterationListener *listener)
TrashIteratorAdapter(MafTrashIterator *iterator)
virtual void setVerbose(bool yn)=0
Partial implementation of the MafIterator interface.
A synteny block data structure, the basic unit of a MAF alignement file.
This special iterator synchronizes two adaptors.
AbstractFilterMafIterator(const AbstractFilterMafIterator &it)
MafIterator * secondaryIterator_
AbstractFilterMafIterator & operator=(const AbstractFilterMafIterator &it)
virtual ~MafTrashIterator()
Interface to loop over removed blocks of a maf alignment.
void setLogStream(OutputStream *logstream)
std::vector< IterationListener * > iterationListeners_
virtual MafBlock * nextBlock()=0
Get the next available alignment block.
virtual void addIterationListener(IterationListener *listener)=0
Listener which enable to catch events when parsing a Maf file.
Interface to loop over maf alignment blocks.
AbstractFilterMafIterator(MafIterator *iterator)
virtual bool isVerbose() const =0
MafBlock * nextBlock()
Get the next available alignment block.
MafTrashIterator * iterator_
MafBlock * analyseCurrentBlock_()
virtual MafBlock * nextRemovedBlock()=0
Get the next available removed alignment block.
Helper class for developping filter for maf blocks.