// Copyright (C) 1991 - 1999 Rational Software Corporation

#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_EXTERNALITERATOR_471BCA1D009C_INCLUDED
#define _INC_EXTERNALITERATOR_471BCA1D009C_INCLUDED
//////////////////////////////////////////////////////////////////////////
#include "Ribble.h"
//////////////////////////////////////////////////////////////////////////
//внешний интерфейс итератора

template<class T>
class Iterator 
{
public:
    //перейти к следующему эл-ту
    
    virtual Ribble<T>* next() = 0;

    //перейти к предыдущему эл-ту
    
    virtual Ribble<T>* previous() = 0;

    //перейти к первому эл-ту
    
    virtual Ribble<T>* first() = 0;

    //перейти к последнему эл-ту
    
    virtual Ribble<T>* last() = 0;

    //есть ли еще эл-ты для обратного обхода
    
    virtual bool hasPrevious() = 0;

    //есть ли еще эл-ты для обхода
    
    virtual bool hasNext() = 0;
};
//////////////////////////////////////////////////////////////////////////
#endif /* _INC_EXTERNALITERATOR_471BCA1D009C_INCLUDED */
Соседние файлы в папке container