Sha256: 6739946c296e6e2c91ec68a043cd9faef97ea592c83288491057de21ce6e58b1

Contents?: true

Size: 1.25 KB

Versions: 25

Compression:

Stored size: 1.25 KB

Contents

//
//  SynthesizeSingleton.h
//  iTrackSportsBets
//
//  Created by Matt Gallagher on 20/10/08.
//  Copyright 2008 Matt Gallagher. All rights reserved.
//
//  Permission is given to use this source code file, free of charge, in any
//  project, commercial or otherwise, entirely at your risk, with the condition
//  that any redistribution (in part or whole) of source code must retain
//  this copyright and permission notice. Attribution in compiled projects is
//  appreciated but not required.
//

#define SYNTHESIZE_SINGLETON_FOR_CLASS(classname) \
 \
static classname *shared##classname = nil; \
 \
+ (classname *)shared##classname \
{ \
	@synchronized(self) \
	{ \
		if (shared##classname == nil) \
		{ \
			shared##classname = [[self alloc] init]; \
		} \
	} \
	 \
	return shared##classname; \
} \
 \
+ (id)allocWithZone:(NSZone *)zone \
{ \
	@synchronized(self) \
	{ \
		if (shared##classname == nil) \
		{ \
			shared##classname = [super allocWithZone:zone]; \
			return shared##classname; \
		} \
	} \
	 \
	return nil; \
} \
 \
- (id)copyWithZone:(NSZone *)zone \
{ \
	return self; \
} \
 \
- (id)retain \
{ \
	return self; \
} \
 \
- (NSUInteger)retainCount \
{ \
	return NSUIntegerMax; \
} \
 \
- (void)release \
{ \
} \
 \
- (id)autorelease \
{ \
	return self; \
}

Version data entries

25 entries across 21 versions & 1 rubygems

Version Path
iCuke-0.7.0 ext/iCuke/SynthesizeSingleton.h
iCuke-0.6.6 ext/iCuke/SynthesizeSingleton.h
iCuke-0.6.5 ext/iCuke/SynthesizeSingleton.h
iCuke-0.6.4 ext/iCuke/SynthesizeSingleton.h
iCuke-0.6.3 ext/iCuke/sdk3.1/SynthesizeSingleton.h
iCuke-0.6.3 ext/iCuke/sdk4.0/SynthesizeSingleton.h
iCuke-0.6.2 ext/iCuke/sdk4.0/SynthesizeSingleton.h
iCuke-0.6.2 ext/iCuke/sdk3.1/SynthesizeSingleton.h
iCuke-0.6.1 ext/iCuke/sdk4.0/SynthesizeSingleton.h
iCuke-0.6.1 ext/iCuke/sdk3.1/SynthesizeSingleton.h
iCuke-0.6.0 ext/iCuke/sdk4.0/SynthesizeSingleton.h
iCuke-0.6.0 ext/iCuke/sdk3.1/SynthesizeSingleton.h
iCuke-0.5.5 ext/iCuke/SynthesizeSingleton.h
iCuke-0.5.4 ext/iCuke/SynthesizeSingleton.h
iCuke-0.5.3 ext/iCuke/SynthesizeSingleton.h
iCuke-0.5.2 ext/iCuke/SynthesizeSingleton.h
iCuke-0.5.1 ext/iCuke/SynthesizeSingleton.h
iCuke-0.4.12 ext/iCuke/SynthesizeSingleton.h
iCuke-0.4.11 ext/iCuke/SynthesizeSingleton.h
iCuke-0.4.10 ext/iCuke/SynthesizeSingleton.h