With.h
author Jens Alfke <jens@mooseyard.com>
Fri Apr 18 09:25:10 2008 -0700 (2008-04-18)
changeset 6 2d492d8c2053
permissions -rw-r--r--
Added -reopenWith:.
     1 //
     2 //  With.h
     3 //  MYUtilities
     4 //
     5 //  Copyright 2008 Jens Alfke. All rights reserved.
     6 //
     7 
     8 #import <Cocoa/Cocoa.h>
     9 
    10 
    11 #define WITH(OBJ)       id __with=[OBJ beginWith]; @try
    12 
    13 #define ENDWITH         @finally{[__with endWith];}
    14 #define CATCHWITH       @catch(NSException *x){id w=__with; __with=nil; _catchWith(w,x);} @finally{[__with endWith];}
    15 
    16 void _catchWith( id with, NSException *x );
    17 
    18 @interface NSAutoreleasePool (With)
    19 + (NSAutoreleasePool*) beginWith;
    20 - (void) endWith;
    21 @end