cocos2d-x 3.0 |
)
- 文件列表 - 文件成员
全部) 类) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义) 组) 页)
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使用 1.8.6