/*********************************************************************** * * TITLE: * dynarray.h * * AUTHOR: * Kevin J. Miller * * DESCRIPTION: * Defines the structure for a dynamic array of integers * * CHANGE HISTORY * * $Log: dynarray.h,v $ * Revision 1.3 1994/05/04 23:36:45 clm * ported to ANSI C * * Revision 1.2 1992/12/01 17:31:00 clm * added function declarations * * Revision 1.1 1992/11/09 17:03:12 clm * Initial revision * ***********************************************************************/ #ifndef __dynarray_h #define __dynarray_h #ifndef lint static char rcsid_dynarray_h[] = "$Id: dynarray.h,v 1.3 1994/05/04 23:36:45 clm OEL $"; #endif #define DYNARRAY_BATCH_SIZE 4 struct dynarray { int (*basptr)[]; int nelems; int nslots; }; /* * function list */ struct dynarray *new_dynarray(void); void append_dynarray(struct dynarray *ptr, int x); void delete_dynarray(struct dynarray *ptr); void delete_element(int co, struct dynarray *ptr); /* * macro list */ #define elemof_dynarray(ptr, i) ((*((ptr)->basptr))[i]) #define sizeof_dynarray(ptr) ((ptr)->nelems) #endif /* !__dynarray_h */