splistit.h

来自「SPLASH is a c++ class library that imple」· C头文件 代码 · 共 22 行

H
22
字号
template<class T>
class SPListIter
{
private:
    int i;
    const T *p;
    const SPList<T>& r;
public:
    SPListIter(const SPList<T>& x) : r(x){ i= 0; reset(); }
    void reset(void){ i= 0; p= (i < r.count()) ? &r[0] : 0;};
   
    const T* operator()(void) const{ return p; }
    const T* operator++() { p= (++i < r.count()) ? &r[i] : 0; return p; } // prefix
    const T* operator++(int)  {const T *o= p; p= (++i < r.count()) ? &r[i] : 0; return o; } //postfix
    operator const void* () const { return p; }
};

#define FOREACH(type, var, list) {SPListIter<type> iter(list); while(iter){type var= *iter++;
#define ENDFOREACH }}


⌨️ 快捷键说明

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