Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 12 / LAB1_CONSOLE - final / ExtGraphIterator
.h// Copyright (C) 1991 - 1999 Rational Software Corporation
#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_EXTGRAPHITERATOR_472F6645029F_INCLUDED
#define _INC_EXTGRAPHITERATOR_472F6645029F_INCLUDED
#include "Iterator.h"
#include "Graph.h"
//##ModelId=472F6645029F
template<class T>
class ExtGraphIterator: virtual public Iterator<T>
{
public:
T next() {
return i->next();
}
T previous() {
return i->previous();
}
bool hasNext() {
return i->hasNext();
}
bool hasPrevious() {
return i->hasPrevious();
}
T first() {
return i->first();
}
T last() {
return i->last();
}
T current() {
return i->current();
}
bool endNext() {
return i->endNext();
}
bool endPrevious() {
return i->endPrevious();
}
~ExtGraphIterator() {
delete i;
}
ExtGraphIterator(Graph<T>* gr) {
i = NULL;
attach(gr);
}
void attach(Graph<T>* gr) {
g = gr;
if (i) delete i; // delete old iterator
i = g->iterator();
}
private:
Graph<T>*g;
Iterator<T>*i; //graph iterator;
};
#endif /* _INC_EXTGRAPHITERATOR_472F6645029F_INCLUDED */
Соседние файлы в папке LAB1_CONSOLE - final