put extra info in array, and allow retain/release macros to refer to it.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12324 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
CaS 2002-01-31 07:20:16 +00:00
parent 671c8010de
commit c6b18d0898
15 changed files with 136 additions and 99 deletions

View file

@ -50,29 +50,21 @@
/*
* Setup for inline operation of string map tables.
*/
#ifdef GSI_NEW
#define GSI_NEW 1
#define GSI_MAP_RETAIN_KEY(M, X)
#define GSI_MAP_RELEASE_KEY(M, X)
#define GSI_MAP_RETAIN_VAL(M, X)
#define GSI_MAP_RELEASE_VAL(M, X)
#define GSI_MAP_HASH(M, X) [(X).obj hash]
#define GSI_MAP_EQUAL(M, X,Y) [(X).obj isEqualToString: (Y).obj]
#else
#define GSI_MAP_RETAIN_KEY(X)
#define GSI_MAP_RELEASE_KEY(X)
#define GSI_MAP_RETAIN_VAL(X)
#define GSI_MAP_RELEASE_VAL(X)
#define GSI_MAP_HASH(X) [(X).obj hash]
#define GSI_MAP_EQUAL(X,Y) [(X).obj isEqualToString: (Y).obj]
#endif
#include <base/GSIMap.h>
/*
* Setup for inline operation of string arrays.
*/
#define GSI_ARRAY_RETAIN(X)
#define GSI_ARRAY_RELEASE(X)
#define GSI_ARRAY_RETAIN(A, X)
#define GSI_ARRAY_RELEASE(A, X)
#define GSI_ARRAY_TYPES GSUNION_OBJ
#include <base/GSIArray.h>