home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lclint.zip / lclint-2_3h-os2-bin.zip / test / db1 / erc.h < prev    next >
C/C++ Source or Header  |  1997-09-03  |  741b  |  31 lines

  1. # ifndef ERC_H
  2. # define ERC_H
  3.  
  4. # include "eref.h"
  5.  
  6. typedef struct _elem { eref val; struct _elem *next; } ercElem;
  7. typedef ercElem *ercList;
  8. typedef struct { ercList vals; int size; } ercInfo;
  9. typedef ercInfo *erc;
  10. typedef ercList *ercIter;
  11.  
  12. # include "erc.lh"
  13.  
  14. # define erc_size(c) ((c)->size)
  15. # define erc_choose(c) ((c->vals)->val)
  16. # define erc_initMod() \
  17.     do { bool_initMod(); employee_initMod();\
  18.          eref_initMod(); } while (0)
  19.  
  20. # define erc_iterFinal(it) (free(it)) 
  21.  
  22. # define erc_iterReturn(it, result) \
  23.     do { erc_iterFinal(it); return result; } while (0)
  24.  
  25. # define for_ercElems(er, it, c)\
  26.     for (er = erc_yield (it = erc_iterStart (c)); \
  27.          !eref_equal (er, erefNIL); \
  28.          er = erc_yield (it))
  29.  
  30. # endif
  31.