The NSAutoreleasePool class is a thin wrapper around the NSPushAutoreleasePool and NSPopAutoreleasePool functions.
#ifdef __cplusplus
extern "C" {
#endif
void *NSPushAutoreleasePool(NSUInteger capacity);
void NSPopAutoreleasePool(void* token);
#ifdef __cplusplus
}
#endif
Example:
static void MyMethod()
{
void *pool = NSPushAutoreleasePool(0);
[[[NSObject alloc] init] autorelease];
NSPopAutoreleasePool(pool);
}
The "capacity" argument of NSPushAutoreleasePool only serves as a hint. It is unused in the current implementation.