//
// GTMDefines.h
//
// Copyright 2008 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy
// of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
//
// ============================================================================
#include <AvailabilityMacros.h>
#include <TargetConditionals.h>
// Not all MAC_OS_X_VERSION_10_X macros defined in past SDKs
#ifndef MAC_OS_X_VERSION_10_5
#define MAC_OS_X_VERSION_10_5 1050
#endif
#ifndef MAC_OS_X_VERSION_10_6
#define MAC_OS_X_VERSION_10_6 1060
#endif
// ----------------------------------------------------------------------------
// CPP symbols that can be overridden in a prefix to control how the toolbox
// is compiled.
// ----------------------------------------------------------------------------
// By setting the GTM_CONTAINERS_VALIDATION_FAILED_LOG and
// GTM_CONTAINERS_VALIDATION_FAILED_ASSERT macros you can control what happens
// when a validation fails. If you implement your own validators, you may want
// to control their internals using the same macros for consistency.
#ifndef GTM_CONTAINERS_VALIDATION_FAILED_ASSERT
#define GTM_CONTAINERS_VALIDATION_FAILED_ASSERT 0
#endif
// Give ourselves a consistent way to do inlines. Apple's macros even use
// a few different actual definitions, so we're based off of the foundation
// one.
#if !defined(GTM_INLINE)
#if defined (__GNUC__) && (__GNUC__ == 4)
#define GTM_INLINE static __inline__ __attribute__((always_inline))
#else
#define GTM_INLINE static __inline__
#endif
#endif
// Give ourselves a consistent way of doing externs that links up nicely
// when mixing objc and objc++
#if !defined (GTM_EXTERN)
#if defined __cplusplus
#define GTM_EXTERN extern "C"
#else
#define GTM_EXTERN extern
#endif
#endif
// Give ourselves a consistent way of exporting things if we have visibility
// set to hidden.
#if !defined (GTM_EXPORT)
#define GTM_EXPORT __attribute__((visibility("default")))
#endif
// _GTMDevLog & _GTMDevAssert
//
// _GTMDevLog & _GTMDevAssert are meant to be a very lightweight shell for
// developer level errors. This implementation simply macros to NSLog/NSAssert.
// It is not intended to be a general logging/reporting system.
//
// Please see http://code.google.com/p/google-toolbox-for-mac/wiki/DevLogNAssert
// for a little more background on the usage of these macros.
//
// _GTMDevLog log some error/problem in debug builds
// _GTMDevAssert assert if conditon isn't met w/in a method/function
// in all builds.
//
// To replace this system, just provide different macro definitions in your
// prefix header. Remember, any implementation you provide *must* be thread
// safe since this could be called by anything in what ever situtation it has
// been placed in.
//
// We only define the simple macros if nothing else has defined this.
#ifndef _GTMDevLog
#ifdef DEBUG
#define _GTMDevLog(...) NSLog(__VA_ARGS__)
#else
#define _GTMDevLog(...) do { } while (0)
#endif
#endif // _GTMDevLog
// Declared here so that it can easily be used for logging tracking if
// necessary. See GTMUnitTestDevLog.h for details.
@class NSString;
GTM_EXTERN void _GTMUnitTestDevLog(NSString *format, ...);
#ifndef _GTMDevAssert
// we directly invoke the NSAssert handler so we can pass on the varargs
// (NSAssert doesn't have a macro we can use that takes varargs)
#if !defined(NS_BLOCK_ASSERTIONS)
#define _GTMDevAssert(condition, ...) \
do { \
if (!(condition)) { \
[[NSAssertionHandler currentHandler] \
handleFailureInFunction:[NSString stringWithUTF8String:__PRETTY_FUNCTION__] \
file:[NSString stringWithUTF8String:__FILE__] \
lineNumber:__LINE__ \
description:__VA_ARGS__]; \
} \
} while(0)
#else // !defined(NS_BLOCK_ASSERTIONS)
#define _GTMDevAssert(condition, ...) do { } while (0)
#endif // !defined(NS_BLOCK_ASSERTIONS)
#endif // _GTMDevAssert
// _GTMCompileAssert
// _GTMCompileAssert is an assert that is meant to fire at compile time if you
// want to check things at compile instead of runtime. For example if you
// want to check that a wchar is 4 bytes instead of 2 you would use
// _GTMCompileAssert(sizeof(wchar_t) == 4, wchar_t_is_4_bytes_on_OS_X)
// Note that the second "arg" is not in quotes, and must be a valid processor
// symbol in it's own right (no spaces, punctuation etc).
// Wrapping this in an #ifndef allows external groups to define their own
// compile time assert scheme.
#ifndef _GTMCompileAssert
// We got this technique from here:
// http://unixjunkie.blogspot.com/2007/10/better-compile-time-asserts_29.html
#define _GTMCompileAssertSymbolInner(line, msg) _GTMCOMPILEASSERT ## line ## __ ## msg
#define _GTMCompileAssertSymbol(line, msg) _GTMCompileAssertSymbolInner(line, msg)
#define _GTMCompileAssert(test, msg) \
typedef char _GTMCompileAssertSymbol(__LINE__, msg) [ ((test) ? 1 : -1) ]
#endif // _GTMCompileAssert
// Macro to allow you to create NSStrings out of other macros.
// #define FOO foo
// NSString *fooString = GTM_NSSTRINGIFY(FOO);
#if !defined (GTM_NSSTRINGIFY)
#define GTM_NSSTRINGIFY_INNER(x) @#x
#define GTM_NSSTRINGIFY(x) GTM_NSSTRINGIFY_INNER(x)
#endif
// Macro to allow fast enumeration when building for 10.5 or later, and
// reliance on NSEnumerator for 10.4. Remember, NSDictionary w/ FastEnumeration
// does keys, so pick the right thing, nothing is done on the FastEnumeration
// side to be sure you're getting what you wanted.
#ifndef GTM_FOREACH_OBJECT
#if TARGET_OS_IPHONE || !(MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5)
#define GTM_FOREACH_ENUMEREE(element, enumeration) \
for (element in enumeration)
#define GTM_FOREACH_OBJECT(element, collection) \
for (element in collection)
#define GTM_FOREACH_KEY(element, collection) \
for (element in collection)
#else
#define GTM_FOREACH_ENUMEREE(element, enumeration) \
for (NSEnumerator *_ ## element ## _enum = enumeration; \
(element = [_ ## element ## _enum nextObject]) != nil; )
#define GTM_FOREACH_OBJECT(element, collection) \
GTM_FOREACH_ENUMEREE(element, [collection objectEnumerator])
#define GTM_FOREACH_KEY(element, collection) \
GTM_FOREACH_ENUMEREE(element, [collection keyEnumerator])
#endif
#endif
// ============================================================================
// ----------------------------------------------------------------------------
// CPP symbols defined based on the project settings so the GTM code has
// simple things to test against w/o scattering the knowledge of project
// setting through all the code.
// ----------------------------------------------------------------------------
// Provide a single constant CPP symbol that all of GTM uses for ifdefing
// iPhone code.
#if TARGET_OS_IPHONE // iPhone SDK
// For iPhone specific stuff
#define GTM_IPHONE_SDK 1
#if TARGET_IPHONE_SIMULATOR
#define GTM_IPHONE_SIMULATOR 1
#else
#define GTM_IPHONE_DEVICE 1
#endif // TARGET_IPHONE_SIMULATOR
#else
// For MacOS specific stuff
#define GTM_MACOS_
没有合适的资源?快使用搜索试试~ 我知道了~
iOS游戏应用源代码——zfisher-CardShark-403605b.zip
共133个文件
h:31个
m:19个
o:16个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 153 浏览量
2023-07-05
23:25:55
上传
评论
收藏 3.46MB ZIP 举报
温馨提示
iOS游戏应用源代码——zfisher-CardShark-403605b.zip
资源推荐
资源详情
资源评论
收起资源包目录
iOS游戏应用源代码——zfisher-CardShark-403605b.zip (133个子文件)
CardShark 220KB
CardShark 83KB
control 256KB
build-state.dat 102KB
build-state~.dat 89KB
CardShark.dep 9KB
CardShark~.dep 7KB
elements 1KB
.gitignore 127B
GTMDefines.h 11KB
GTMObjC2Runtime.h 5KB
GTMStackTrace.h 4KB
FontLabelStringDrawing.h 4KB
FontLabelStringDrawing.h 4KB
FontManager.h 3KB
FontManager.h 3KB
ZAttributedString.h 3KB
ZAttributedString.h 3KB
FontLabel.h 2KB
FontLabel.h 2KB
ZFont.h 2KB
ZFont.h 2KB
CKCard.h 1KB
CardSharkAppDelegate.h 985B
GameModel.h 928B
CKCardView.h 849B
GameViewController.h 848B
AddOns.h 819B
StartDetailViewController.h 752B
ZAttributedStringPrivate.h 722B
ZAttributedStringPrivate.h 722B
CKDeck.h 688B
CardModel.h 643B
SettingsPopoverController.h 581B
StartViewController.h 538B
AppDelegate.h 463B
StartRootViewController.h 431B
GameObjectModel.h 221B
GameObjectView.h 219B
CardKit.h 197B
pbxindex.header 24B
CardShark.hmap 2KB
CardShark-project-headers.hmap 1KB
CardShark-own-target-headers.hmap 793B
CardShark-all-target-headers.hmap 793B
CardShark-generated-files.hmap 121B
layout 519B
CardShark.LinkFileList 3KB
FontLabelStringDrawing.m 33KB
FontLabelStringDrawing.m 33KB
ZAttributedString.m 21KB
ZAttributedString.m 21KB
GTMStackTrace.m 12KB
FontLabel.m 6KB
FontLabel.m 6KB
CardSharkAppDelegate.m 5KB
ZFont.m 5KB
ZFont.m 5KB
GTMObjC2Runtime.m 5KB
CKCard.m 4KB
FontManager.m 3KB
FontManager.m 3KB
CKCardView.m 3KB
CKDeck.m 922B
main.m 642B
AppDelegate.m 485B
main.m 361B
AddOns.mm 6KB
StartRootViewController.mm 5KB
SettingsPopoverController.mm 4KB
StartDetailViewController.mm 3KB
GameViewController.mm 3KB
GameModel.mm 2KB
StartViewController.mm 1KB
CardModel.mm 462B
GameObjectModel.mm 371B
GameObjectView.mm 324B
asugaya.mode1v3 42KB
CardShark.mom 488B
MainWindow.nib 2KB
DetailView.nib 1KB
StartDetailView.nib 1KB
GameViewController.nib 1KB
CardSharkAppDelegate.o 51KB
SettingsPopoverController.o 48KB
GameViewController.o 47KB
StartRootViewController.o 45KB
StartDetailViewController.o 45KB
StartViewController.o 38KB
AddOns.o 25KB
GTMStackTrace.o 18KB
GameModel.o 16KB
HotSpotModel.o 10KB
CardModel.o 10KB
GoFishGameModel.o 8KB
main.o 7KB
GameObjectModel.o 5KB
GameObjectView.o 5KB
GTMObjC2Runtime.o 4KB
decls.pbxbtree 147KB
共 133 条
- 1
- 2
资源评论
快乐无限出发
- 粉丝: 1135
- 资源: 7277
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功