Objective-C++ Preprocessor  5.0 with ARC & GC
C++ classes to enhance syntax and manage reference counting.
Classes | Macros | Typedefs | Functions
objcpp.h File Reference
#include <Foundation/Foundation.h>
#import <vector>
#import <map>
#import "objstr.h"

Go to the source code of this file.

Classes

class  OODictionary< ETYPE >
 
class  OOSubscript< ETYPE, RTYPE, STYPE >
 
class  OOReference< RTYPE >
 
class  OOPool
 
class  OOArray< ETYPE >
 
class  OODictionary< ETYPE >
 
class  OOSubscript< ETYPE, RTYPE, STYPE >
 

Macros

#define OO_BRIDGE(_type)   (_type)
 
#define OO_TRANSFER(_type)   (_type)
 
#define OO_RETAIN(_obj)   [_obj retain]
 
#define OO_RETAINCOUNT(_obj)   [_obj retainCount]
 
#define OO_AUTORELEASE(_obj)   [_obj autorelease]
 
#define OO_RELEASE(_obj)   [_obj release]
 
#define OO_DEALLOC(_obj)   [super dealloc]
 
#define OO_AUTORETURNS
 
#define OO_RETURNS
 
#define OO_UNSAFE
 
#define OO_STRONG
 
#define OO_WEAK
 
#define OOLog   while(0) NSLog
 
#define OOTrace   while(0) NSLog
 
#define OORetain   OOTrace
 
#define OORelease   OOTrace
 
#define OOWarn   NSLog
 
#define OOEmpty   nil
 
#define OONoValue   (id)kCFNull
 
#define oo_inline   inline
 
#define OOPoolIfRequired   /* OOPool pool */
 
#define OONil   (id)nil
 
#define OONull   OO_BRIDGE(id)kCFNull
 
#define OOLong   long
 
#define OOAddress   unsigned long
 
#define OOId   OOReference<id>
 
#define cOOString   const OOString &
 
#define OOStringArray   OOArray<OOString>
 
#define cOOStringArray   const OOStringArray &
 
#define OOStringArrayArray   OOArray<OOStringArray >
 
#define cOOStringArrayArray   const OOStringArrayArray &
 
#define OOStringDictionary   OODictionary<OOString>
 
#define cOOStringDictionary   const OOStringDictionary &
 
#define OOStringDictionaryArray   OOArray<OOStringDictionary >
 
#define cOOStringDictionaryArray   const OOStringDictionaryArray &
 
#define OOStrArray   OOStringArray
 
#define OOStrDict   OOStringDictionary
 
#define OOStrDicts   OOStringDictionaryArray
 
#define OOStringDict   OOStringDictionary
 
#define OONumberArray   OOArray<OONumber>
 
#define OONumberDict   OODictionary<OONumber>
 
#define OORangeFrom(_start)   OORange(_start,NSNotFound)
 
#define OORangeAll()   OORangeFrom(0)
 
#define OOInt(_val)   [NSNumber numberWithInt:_val]
 
#define OODouble(_val)   [NSNumber numberWithDouble:_val]
 
#define OORect(_rect)   [NSValue valueWithRect:_rect]
 
#define OORef   OOReference
 
#define OOPtr   OOPointer
 
#define OOStr   OOString
 
#define OOStrs   OOStringArray
 
#define OOData   OOReference<NSData *>
 
#define OODate   OOReference<NSDate *>
 
#define OODict   OODictionary
 
#define OOHash   OODictionary
 
#define OOList   OOArray
 
#define OOHome()   OOString(NSHomeDirectory())
 
#define OOPrint(_obj)   if(0) _obj
 
#define OO_AUTOTYPE   RTYPE
 

Typedefs

typedef id(^ OOBlock )(id)
 

Functions

NSRange OORange (NSUInteger start, NSInteger end)
 
template<typename ETYPE >
oo_inline OOArray< ETYPE > operator* (const OOArray< ETYPE > &left, int count)
 
template<typename ETYPE >
oo_inline OOArray< ETYPE > operator/ (const OOArray< ETYPE > &left, int count)
 

Macro Definition Documentation

#define cOOString   const OOString &

Definition at line 219 of file objcpp.h.

#define cOOStringArray   const OOStringArray &

Definition at line 221 of file objcpp.h.

#define cOOStringArrayArray   const OOStringArrayArray &

Definition at line 223 of file objcpp.h.

#define cOOStringDictionary   const OOStringDictionary &

Definition at line 225 of file objcpp.h.

#define cOOStringDictionaryArray   const OOStringDictionaryArray &

Definition at line 227 of file objcpp.h.

#define OO_AUTORELEASE (   _obj)    [_obj autorelease]

Definition at line 95 of file objcpp.h.

#define OO_AUTORETURNS

Definition at line 98 of file objcpp.h.

#define OO_AUTOTYPE   RTYPE

Definition at line 373 of file objcpp.h.

#define OO_BRIDGE (   _type)    (_type)

Definition at line 91 of file objcpp.h.

#define OO_DEALLOC (   _obj)    [super dealloc]

Definition at line 97 of file objcpp.h.

#define oo_inline   inline

Definition at line 190 of file objcpp.h.

#define OO_RELEASE (   _obj)    [_obj release]

Definition at line 96 of file objcpp.h.

#define OO_RETAIN (   _obj)    [_obj retain]

Definition at line 93 of file objcpp.h.

#define OO_RETAINCOUNT (   _obj)    [_obj retainCount]

Definition at line 94 of file objcpp.h.

#define OO_RETURNS

Definition at line 99 of file objcpp.h.

#define OO_STRONG

Definition at line 101 of file objcpp.h.

#define OO_TRANSFER (   _type)    (_type)

Definition at line 92 of file objcpp.h.

#define OO_UNSAFE

Definition at line 100 of file objcpp.h.

#define OO_WEAK

Definition at line 102 of file objcpp.h.

#define OOAddress   unsigned long

Definition at line 215 of file objcpp.h.

#define OOData   OOReference<NSData *>

Definition at line 255 of file objcpp.h.

#define OODate   OOReference<NSDate *>

Definition at line 256 of file objcpp.h.

#define OODict   OODictionary

Definition at line 257 of file objcpp.h.

#define OODouble (   _val)    [NSNumber numberWithDouble:_val]

Definition at line 247 of file objcpp.h.

#define OOEmpty   nil

Inital value for uninitialised references. Use (id)kCFNull to detect messaging of unititialsed objects.

Definition at line 171 of file objcpp.h.

#define OOHash   OODictionary

Definition at line 258 of file objcpp.h.

#define OOHome ( )    OOString(NSHomeDirectory())

Definition at line 261 of file objcpp.h.

#define OOId   OOReference<id>

Definition at line 218 of file objcpp.h.

#define OOInt (   _val)    [NSNumber numberWithInt:_val]

Definition at line 246 of file objcpp.h.

#define OOList   OOArray

Definition at line 259 of file objcpp.h.

#define OOLog   while(0) NSLog

For logging only during development

Definition at line 116 of file objcpp.h.

#define OOLong   long

Definition at line 214 of file objcpp.h.

#define OONil   (id)nil

If you ask me this is how "nil" should be defined

Definition at line 212 of file objcpp.h.

#define OONoValue   (id)kCFNull

Value to use in place of nil in NSArray and NSDictioanry. Set to nil to trap attempts to assign nil.

Definition at line 183 of file objcpp.h.

#define OONull   OO_BRIDGE(id)kCFNull

Definition at line 213 of file objcpp.h.

#define OONumberArray   OOArray<OONumber>

Definition at line 235 of file objcpp.h.

#define OONumberDict   OODictionary<OONumber>

Definition at line 236 of file objcpp.h.

#define OOPoolIfRequired   /* OOPool pool */

In threads without their own autorelease pool you may need to define this as "OOPool pool"

Definition at line 206 of file objcpp.h.

#define OOPrint (   _obj)    if(0) _obj

Definition at line 266 of file objcpp.h.

#define OOPtr   OOPointer

Definition at line 252 of file objcpp.h.

#define OORangeAll ( )    OORangeFrom(0)

Definition at line 243 of file objcpp.h.

#define OORangeFrom (   _start)    OORange(_start,NSNotFound)

Definition at line 242 of file objcpp.h.

#define OORect (   _rect)    [NSValue valueWithRect:_rect]

Definition at line 248 of file objcpp.h.

#define OORef   OOReference

Definition at line 251 of file objcpp.h.

#define OORelease   OOTrace

Definition at line 131 of file objcpp.h.

#define OORetain   OOTrace

Definition at line 130 of file objcpp.h.

#define OOStr   OOString

Definition at line 253 of file objcpp.h.

#define OOStrArray   OOStringArray

Definition at line 229 of file objcpp.h.

#define OOStrDict   OOStringDictionary

Definition at line 230 of file objcpp.h.

#define OOStrDicts   OOStringDictionaryArray

Definition at line 231 of file objcpp.h.

#define OOStringArray   OOArray<OOString>

Definition at line 220 of file objcpp.h.

#define OOStringArrayArray   OOArray<OOStringArray >

Definition at line 222 of file objcpp.h.

#define OOStringDict   OOStringDictionary

Definition at line 232 of file objcpp.h.

#define OOStringDictionary   OODictionary<OOString>

Definition at line 224 of file objcpp.h.

#define OOStringDictionaryArray   OOArray<OOStringDictionary >

Definition at line 226 of file objcpp.h.

#define OOStrs   OOStringArray

Definition at line 254 of file objcpp.h.

#define OOTrace   while(0) NSLog

For detailed debugging

Definition at line 128 of file objcpp.h.

#define OOWarn   NSLog

Function to log warning messages

Definition at line 159 of file objcpp.h.

Typedef Documentation

typedef id(^ OOBlock)(id)

Definition at line 551 of file objcpp.h.

Function Documentation

NSRange OORange ( NSUInteger  start,
NSInteger  end 
)
inline

Definition at line 239 of file objcpp.h.

template<typename ETYPE >
oo_inline OOArray<ETYPE> operator* ( const OOArray< ETYPE > &  left,
int  count 
)

Definition at line 859 of file objcpp.h.

template<typename ETYPE >
oo_inline OOArray<ETYPE> operator/ ( const OOArray< ETYPE > &  left,
int  count 
)

Definition at line 867 of file objcpp.h.