container.h

来自「用于词法分析的词法分析器」· C头文件 代码 · 共 58 行

H
58
字号
/*  $Id: Container.h,v 1.5 1997/05/18 10:55:00 matt Exp $  Generic containers.    Sep 18th 1994 Matt Phillips.  */#ifndef _CONTAIN_H#define _CONTAIN_H#include <util/checks.h>#include <iostream.h>#include "ContainerIter.h"template <class T>class Container{   friend ostream &operator << (ostream &s, const Container<T> &c);   public:      Container (int n = 0) : _nItems (n) {}      // class name   virtual const char *name () const {return "Container";}   // number of items   int nItems () const {return _nItems;}   // is empty   int isEmpty () const {return _nItems == 0;}   // is full (default is never full)   virtual int isFull () const {return 0;}   // clear container   virtual void clear () = 0;   // iterator   virtual ContainerIter<T> *makeIter () const = 0;   protected:      int _nItems;};template <class T>ostream &operator << (ostream &s, const Container<T> &c){  ContainerIter<T> *i;    for (i = c.makeIter (); *i; (*i)++)    s << i->ref () << endl;    delete i;    return s;}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?