#ifndef _H_CLIST
#define _H_CLIST

#include "system.h"

class CList {
public:
  CList (void);
  ~CList (void);

  bool add (void *);
  bool del (void *);
  void delall (void);
  void rewind (void);
  void *next (void);
  size_t count (void);
  void restore_current (void);
  bool exist (void *);

private:

  struct element_type {
    void *e;
    struct element_type *next;
  } *head, *current, *rewinded_current;

};

#endif

