With.h
author Jens Alfke <jens@mooseyard.com>
Sat May 31 11:26:17 2008 -0700 (2008-05-31)
changeset 12 66b870428f85
permissions -rw-r--r--
* Worked around compiler warnings in Test.h when building for iPhone.
* Made Mercurial ignore the documentation files.
jens@0
     1
//
jens@0
     2
//  With.h
jens@0
     3
//  MYUtilities
jens@0
     4
//
jens@0
     5
//  Copyright 2008 Jens Alfke. All rights reserved.
jens@0
     6
//
jens@0
     7
jens@0
     8
#import <Cocoa/Cocoa.h>
jens@0
     9
jens@0
    10
jens@0
    11
#define WITH(OBJ)       id __with=[OBJ beginWith]; @try
jens@0
    12
jens@0
    13
#define ENDWITH         @finally{[__with endWith];}
jens@0
    14
#define CATCHWITH       @catch(NSException *x){id w=__with; __with=nil; _catchWith(w,x);} @finally{[__with endWith];}
jens@0
    15
jens@0
    16
void _catchWith( id with, NSException *x );
jens@0
    17
jens@0
    18
@interface NSAutoreleasePool (With)
jens@0
    19
+ (NSAutoreleasePool*) beginWith;
jens@0
    20
- (void) endWith;
jens@0
    21
@end