cocos2d-x 3.0
- 首页 - 相关页面 - 模块 - 命名空间 - - 文件 -
命名空间 - 图1 命名空间 - 图2)
- 文件列表 - 文件成员

全部)) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义)))

命名空间 | 宏定义 | 函数

ccCArray.h 文件参考

基于Chipmunk的cpArray。 ccArray是一个更快的NSMutableArray。 它和NSMutableArray几乎一样 (适当的存储、保持和释放NSObjects)。 它比NSMutableArray快是因为: 更多…

#include "base/ccMacros.h"

#include "base/CCRef.h"

#include

#include

#include

## 命名空间
cocos2d
Add deprecated global functions and variables here.
## 宏定义
#define CCARRAYDATA_FOREACH(array, object) object=array->arr[0]; for(ssize_t i=0, num=array->num; i<num; i++, object=array->arr[i]) \
## 函数
ccArray ccArrayNew (ssize_t capacity)
根据指定的容量(capacity)分配和初始化一个新的数组 更多…
void ccArrayFree (ccArray &arr)
在移除所有执有对象后释放数组。忽略空的数组。 更多…
void ccArrayDoubleCapacity (ccArray arr)
数组容量翻倍 更多…
void ccArrayEnsureExtraCapacity (ccArray arr, ssize_t extra)
如果数组当前元素数量(num)加额外空间(extra)大于数组容量(max),增加数组容量 译者注:增加方式为让数组容量翻倍 更多…
void ccArrayShrink (ccArray arr)
把数组的容量收缩为数组内容的数量,让内存符合数组包含的内容 更多…
ssize_t ccArrayGetIndexOfObject (ccArray arr, Ref object)
返回第一个匹配对象(Object)的索引(index),如果没有找到返回NSNotFound 更多…
bool ccArrayContainsObject (ccArray arr, Ref object)
返回布尔(Boolean)值代表此对象(object)是否在当前数组中 更多…
void ccArrayAppendObject (ccArray arr, Ref object)
追加一个对象(object)。如果数组没有足够容量,则执行的结果是不可预料的(Undefined behavior)。 更多…
void ccArrayAppendObjectWithResize (ccArray arr, Ref object)
追加一个对象(object)。如果容量不足,增加数组的容量。 更多…
void ccArrayAppendArray (ccArray arr, ccArray plusArr)
从plusArr追加对象(objects)到arr。 如果数组没有足够容量,则执行的结果是不可预料的(Undefined behavior) 更多…
void ccArrayAppendArrayWithResize (ccArray arr, ccArray plusArr)
从plusArr追加对象(objects)到arr。如果容量不足,增加数组的容量。 更多…
void ccArrayInsertObjectAtIndex (ccArray arr, Ref object, ssize_t index)
在索引(index)位置插入对象(object) 更多…
void ccArraySwapObjectsAtIndexes (ccArray arr, ssize_t index1, ssize_t index2)
交换两个对象(object) 更多…
void ccArrayRemoveAllObjects (ccArray arr)
删除数组的所有对象(objects) 更多…
void ccArrayRemoveObjectAtIndex (ccArray arr, ssize_t index, bool releaseObj=true)
删除指定索引(index)的对象(object)然后把索引(index)后面的对象(object)向前移动。 如果索引(index)在[0, num-1]以外,即索引位置没有对象(object),则执行的结果是不可预料的(Undefined behavior)。 更多…
void ccArrayFastRemoveObjectAtIndex (ccArray arr, ssize_t index)
删除指定索引(index)的对象(object)然后把最后一个对象填充到指定索引(index)位置, 从而避免移动后面的对象(objects)。 如果索引(index)在[0, num-1]以外,即索引位置没有对象(object),则执行的结果是不可预料的(Undefined behavior)。 更多…
void ccArrayFastRemoveObject (ccArray arr, Ref object)
void ccArrayRemoveObject (ccArray arr, Ref object, bool releaseObj=true)
搜索第一个匹配的对象(object)并删除它。如果没有找到对象(object),函数不造成任何影响。 更多…
void ccArrayRemoveArray (ccArray arr, ccArray minusArr)
根据minusArr数组中的对象(object),删除arr数组中的相同对象(object)。 匹配时,根据minusArr数组中的对象(object),arr数组中的第一个匹配对象(object)将被删除。 更多…
void ccArrayFullRemoveArray (ccArray arr, ccArray minusArr)
根据minusArr数组中的对象(object),删除arr数组中的所有相同对象(object)。 匹配时,根据minusArr数组中的对象(object),arr数组中的所有匹配对象(object)将被删除。 更多…
ccCArray ccCArrayNew (ssize_t capacity)
根据指定的容量(capacity)分配和初始化一个新的C数组 更多…
void ccCArrayFree (ccCArray arr)
在移除所有执有对象后释放C数组。忽略空的数组。 更多…
void ccCArrayDoubleCapacity (ccCArray arr)
C数组容量翻倍 更多…
void ccCArrayEnsureExtraCapacity (ccCArray arr, ssize_t extra)
如果数组当前元素数量(num)加额外空间(extra)大于数组容量(max),增加数组容量 译者注:增加方式为让数组容量翻倍 更多…
ssize_t ccCArrayGetIndexOfValue (ccCArray arr, void value)
返回第一个匹配值(value)的索引(index),如果没有找到返回NSNotFound 更多…
bool ccCArrayContainsValue (ccCArray arr, void value)
返回布尔(Boolean)值代表此值(value)是否在当前C数组中 更多…
void ccCArrayInsertValueAtIndex (ccCArray arr, void value, ssize_t index)
在索引(index)位置插入值(value)。如果数组没有足够容量,则执行的结果是不可预料的(Undefined behavior)。 更多…
void ccCArrayAppendValue (ccCArray arr, void value)
追加一个值(value)。如果数组没有足够容量,则执行的结果是不可预料的(Undefined behavior)。 更多…
void ccCArrayAppendValueWithResize (ccCArray arr, void value)
追加一个值(value)。如果容量不足,增加数组的容量。 更多…
void ccCArrayAppendArray (ccCArray arr, ccCArray plusArr)
从plusArr追加值(values)到arr。 如果数组没有足够容量,则执行的结果是不可预料的(Undefined behavior) 更多…
void ccCArrayAppendArrayWithResize (ccCArray arr, ccCArray plusArr)
从plusArr追加值(values)到arr。如果容量不足,增加数组的容量。 更多…
void ccCArrayRemoveAllValues (ccCArray arr)
删除数组的所有值(values) 更多…
void ccCArrayRemoveValueAtIndex (ccCArray arr, ssize_t index)
删除指定索引(index)的值(value)然后把索引后面的值(values)向前移动。 如果索引(index)在[0, num-1]以外,即索引位置没有值(value),则执行的结果是不可预料的(Undefined behavior)。 更多…
void ccCArrayFastRemoveValueAtIndex (ccCArray arr, ssize_t index)
删除指定索引(index)的值(value)然后把最后一个值(value)填充到指定索引(index)位置, 从而避免移动后面的值(values)。 如果索引(index)在[0, num-1]以外,即索引位置没有值(value),则执行的结果是不可预料的(Undefined behavior)。 更多…
void ccCArrayRemoveValue (ccCArray arr, void value)
搜索第一个匹配的值(value)并删除它。如果没有找到值,函数不造成任何影响。 更多…
void ccCArrayRemoveArray (ccCArray arr, ccCArray minusArr)
根据minusArr数组中的值(value),删除arr数组中的相同值(value)。 匹配时,根据minusArr数组中的值(value),arr数组中的第一个匹配值(value)将被删除。 更多…
void ccCArrayFullRemoveArray (ccCArray arr, ccCArray minusArr)
根据minusArr数组中的值(value),删除arr数组中的所有相同值(value)。 匹配时,根据minusArr数组中的值(value),arr数组中的所有匹配值(value)将被删除。 更多…

详细描述

基于Chipmunk的cpArray。 ccArray是一个更快的NSMutableArray。 它和NSMutableArray几乎一样 (适当的存储、保持和释放NSObjects)。 它比NSMutableArray快是因为:

  • 它用原生C接口所以它没有Objective-c的消息机制开销
  • 它假定你知道你在做什么,所以它没有在安全检查上花时间 (数组越界, 需要的容量等)
  • 对象比较时用指针比较代替了isEqual函数

它有两种用法:

  • ccArray函数操纵objective-c对象(进行保留和释放操作)
  • ccCArray函数像标准的C结构体一样操纵值(不进行保留和释放操作)

宏定义说明

#define CCARRAYDATAFOREACH ( array,
object
) object=array->arr[0]; for(ssize_t i=0, num=array->num; i<num; i++, object=_array->arr[i]) \
  • cocos
  • 2d
  • ccCArray.h
  • 生成于 2014年 五月 29日 星期四 09:41:41 , 为 cocos2d-x使用 doxygen 1.8.6