home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume36 / formes / part01 / assoc.h < prev    next >
C/C++ Source or Header  |  1993-04-01  |  1KB  |  53 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 = "@(#)assoc.h    2.2 JWC"; */
  16.  
  17. #ifndef ASSOC_H
  18. #define ASSOC_H
  19.  
  20. /*
  21.  *  Association - a pair of general-purpose pointers
  22.  */
  23.  
  24. typedef struct Association Association;
  25. struct Association
  26. {
  27.     void *key;
  28.     void *value;
  29. };
  30.  
  31. #if __STDC__
  32.  
  33. extern Association *Association_new();
  34. extern Association *Association_newWithKey(void *key);
  35. extern Association *Association_newWithPair(void *key, void *value);
  36. extern void Association_destroy(Association *self);
  37.  
  38. #else
  39.  
  40. extern Association *Association_new();
  41. extern Association *Association_newWithKey();
  42. extern Association *Association_newWithPair();
  43. extern void Association_destroy();
  44.  
  45. #endif
  46.  
  47. #define Association_getKey(s) ((s)->key)
  48. #define Association_getValue(s) ((s)->value)
  49. #define Association_setValue(s, v) (s)->value = v
  50.  
  51. #endif
  52.  
  53.