home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume36 / formes / part01 / verbset.h < prev    next >
C/C++ Source or Header  |  1993-04-01  |  1KB  |  60 lines

  1.  
  2. /*
  3.  *  Copyright (C) 1992-1993 Jeffrey Chilton
  4.  *
  5.  *  Permission is granted to anyone to make or distribute copies of
  6.  *  this program, in any medium, provided that the copyright notice
  7.  *  and permission notice are preserved, and that the distributor
  8.  *  grants the recipient permission for further redistribution as
  9.  *  permitted by this notice.
  10.  *  
  11.  *  Author's E-mail address:  172-9221@mcimail.com
  12.  *  
  13.  */
  14.  
  15. /* static char *whatstring = "@(#)verbset.h    2.4 JWC"; */
  16.  
  17. #ifndef VERBSET_H
  18. #define VERBSET_H
  19.  
  20. /*
  21.  *  VerbSet - A collection of Verbs
  22.  */
  23.  
  24. typedef struct VerbSet VerbSet;
  25.  
  26. #include "collect.h"
  27. #include "verb.h"
  28.  
  29. struct VerbSet
  30. {
  31.     Collection *allVerbs;
  32. };
  33.  
  34. #if __STDC__
  35.  
  36. extern VerbSet *VerbSet_new();
  37. extern void VerbSet_addOne(VerbSet *self, Verb *verb);
  38. extern Verb *VerbSet_getOneByName(VerbSet *self, char *name);
  39. extern Verb *VerbSet_getOneFromClass(VerbSet *self, int class);
  40. extern Verb *VerbSet_getOneAtRandom(VerbSet *self);
  41. extern int VerbSet_locateRequired(VerbSet *self);
  42. extern void VerbSet_destroy(VerbSet *self);
  43.  
  44. #else
  45.  
  46. extern VerbSet *VerbSet_new();
  47. extern void VerbSet_addOne();
  48. extern Verb *VerbSet_getOneByName();
  49. extern Verb *VerbSet_getOneFromClass();
  50. extern Verb *VerbSet_getOneAtRandom();
  51. extern int VerbSet_locateRequired();
  52. extern void VerbSet_destroy();
  53.  
  54. #endif
  55.  
  56. #define VerbSet_getAll(s) ((s)->allVerbs)
  57.  
  58. #endif
  59.  
  60.