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 / db3 / erc.h < prev    next >
C/C++ Source or Header  |  1997-09-03  |  776b  |  31 lines

  1. # ifndef ERC_H
  2. # define ERC_H
  3.  
  4. # include <assert.h>
  5. # include "eref.h"
  6.  
  7. /*@-exporttype@*/ /* These types should not be exported, but are used in macros. */
  8. typedef struct _elem { eref val; /*@null@*/ struct _elem *next; } ercElem;
  9. typedef ercElem *ercList;
  10. typedef struct { /*@null@*/ ercList vals; int size; } ercInfo;
  11. /*@=exporttype@*/
  12.  
  13. typedef ercInfo *erc;
  14.  
  15. # include "erc.lh"
  16.  
  17. # define erc_size(c) ((c)->size)
  18.  
  19. # define erc_initMod() \
  20.     do { bool_initMod(); employee_initMod();\
  21.          eref_initMod(); } while (0)
  22.  
  23. # define erc_elements(c, m_x) \
  24.   { erc m_c = (c); ercElem *m_ec = (m_c)->vals; int m_i = 0; \
  25.     while (m_i < (m_c)->size) { \
  26.       eref m_x; assert (m_ec != NULL); m_x = m_ec->val; m_ec = m_ec->next; m_i++; 
  27.  
  28. # define end_erc_elements }}
  29.  
  30. # endif
  31.