1 /*****************************************************************
3 | Neptune - Autorelease Pool :: Apple Implementation
5 | (c) 2001-2008 Gilles Boccon-Gibod
6 | Author: Gilles Boccon-Gibod (bok@bok.net)
8 ****************************************************************/
10 /*----------------------------------------------------------------------
12 +---------------------------------------------------------------------*/
13 #include <Foundation/Foundation.h>
14 #include "NptAutoreleasePool.h"
16 /*----------------------------------------------------------------------
17 | AppleAutoReleasePool
18 +---------------------------------------------------------------------*/
19 class AppleAutoreleasePool : public NPT_AutoreleasePoolInterface
22 AppleAutoreleasePool();
23 virtual ~AppleAutoreleasePool();
26 NSAutoreleasePool* m_Pool;
29 /*----------------------------------------------------------------------
30 | AppleAutoreleasePool::AppleAutoreleasePool
31 +---------------------------------------------------------------------*/
32 AppleAutoreleasePool::AppleAutoreleasePool()
34 m_Pool = [[NSAutoreleasePool alloc] init];
37 /*----------------------------------------------------------------------
38 | AppleAutoreleasePool::~AppleAutoreleasePool
39 +---------------------------------------------------------------------*/
40 AppleAutoreleasePool::~AppleAutoreleasePool()
46 /*----------------------------------------------------------------------
47 | NPT_AutoreleasePool::NPT_AutoreleasePool
48 +---------------------------------------------------------------------*/
49 NPT_AutoreleasePool::NPT_AutoreleasePool()
51 m_Delegate = new AppleAutoreleasePool;
54 /*----------------------------------------------------------------------
55 | NPT_AutoreleasePool::~NPT_AutoreleasePool
56 +---------------------------------------------------------------------*/
57 NPT_AutoreleasePool::~NPT_AutoreleasePool()