// ННГУ, ВМК, Курс "Методы программирования-2", С++, ООП
//
// tlist.h - Copyright (c) Гергель В.П. 26.07.2002
//
// Cписки - шаблон доступа

#ifndef __TLIST_H
#define __TLIST_H

#include "datlist.h"

template <class TDatClass>
class TList : public TDatList {
  public:
    // получить значение
    TDatClass GetValue ( TLinkPos mode = CURRENT ) const {
      TDatClass *pTemp =  dynamic_cast<TDatClass *>(GetDatValue(mode)->GetCopy());
      if (pTemp != NULL ) return *pTemp;
      else { SetRetCode(DataErr); TDatClass temp; return temp; }
    }
    // вставить значение
    void InsValue ( TDatClass &Val, TLinkPos mode = CURRENT ) {
      PTDatValue pVal = Val.GetCopy();
      if ( mode == FIRST ) InsFirst(pVal);
      else if ( mode == LAST ) InsLast(pVal);
      else InsCurrent(pVal);
    }
    // удалить значение
    void DelValue ( TLinkPos mode = CURRENT ) {
      if ( mode == FIRST ) DelFirst();
      else if ( mode == LAST ) DelLast();
    }
};
#endif
Хостинг от uCoz