(RETAIN_ELT, RELEASE_ELT, AUTORELEASE_ELT): New macros.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@125 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
mccallum 1995-03-14 16:50:20 +00:00
parent 45699fdcf1
commit f92e432680
2 changed files with 24 additions and 0 deletions

View file

@ -64,6 +64,18 @@
#define CONTAINS_OBJECTS \
(ENCODING_IS_OBJECT([self contentType]))
/* Used inside a method for sending "-retain" if necessary */
#define RETAIN_ELT(ELT) \
if (CONTAINS_OBJECTS) [ELT.id_u retain]
/* Used inside a method for sending "-release" if necessary */
#define RELEASE_ELT(ELT) \
if (CONTAINS_OBJECTS) [ELT.id_u release]
/* Used inside a method for sending "-autorelease" if necessary */
#define AUTORELEASE_ELT(ELT) \
({if (CONTAINS_OBJECTS) ((elt)[ELT.id_u autorelease]) else ELT;})
/* Error Handling */

View file

@ -64,6 +64,18 @@
#define CONTAINS_OBJECTS \
(ENCODING_IS_OBJECT([self contentType]))
/* Used inside a method for sending "-retain" if necessary */
#define RETAIN_ELT(ELT) \
if (CONTAINS_OBJECTS) [ELT.id_u retain]
/* Used inside a method for sending "-release" if necessary */
#define RELEASE_ELT(ELT) \
if (CONTAINS_OBJECTS) [ELT.id_u release]
/* Used inside a method for sending "-autorelease" if necessary */
#define AUTORELEASE_ELT(ELT) \
({if (CONTAINS_OBJECTS) ((elt)[ELT.id_u autorelease]) else ELT;})
/* Error Handling */