Files
MAX_CARLINK_A270S/MXC_A27-PCB4.5-270T/lib/awtk/awtk/docs/manual/typed_array_t.md
2025-01-21 16:49:37 +08:00

8.5 KiB
Raw Blame History

typed_array_t

概述

带类型的动态数组,根据元素个数动态调整数组的容量。

示例:

value_t v;
typed_array_t* typed_array = typed_array_create(VALUE_TYPE_INT, 10);
typed_array_push(a, value_set_int(&v, 123));
typed_array_push(a, value_set_int(&v, 234));
...
typed_array_destroy(typed_array);

函数

函数名称 说明
typed_array_clear 清除全部元素。
typed_array_create 创建typed_array对象。
typed_array_destroy 销毁typed_array对象。
typed_array_extend 扩展typed_array到指定容量。
typed_array_get 获取指定序数的元素。
typed_array_insert 在指定序数插入元素。
typed_array_pop 弹出最后一个元素。
typed_array_push 在尾巴追加一个元素。
typed_array_remove 删除指定位置的元素。
typed_array_set 设置指定序数的元素。
typed_array_tail 返回最后一个元素。

属性

属性名称 类型 说明
capacity uint32_t 数组的容量大小。
data uint8_t* 数组中的元素。
element_size uint32_t 单个元素的大小。
size uint32_t 数组中元素的个数。
type value_type_t 元素的类型。

typed_array_clear 函数


  • 函数功能:

清除全部元素。

  • 函数原型:
ret_t typed_array_clear (typed_array_t* typed_array);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
typed_array typed_array_t* 数组对象。

typed_array_create 函数


  • 函数功能:

创建typed_array对象。

  • 函数原型:
typed_array_t* typed_array_create (value_type_t type, uint32_t capacity);
  • 参数说明:
参数 类型 说明
返回值 typed_array_t* 数组对象。
type value_type_t 元素的类型。
capacity uint32_t 数组的初始容量(元素个数)。

typed_array_destroy 函数


  • 函数功能:

销毁typed_array对象。

  • 函数原型:
ret_t typed_array_destroy (typed_array_t* typed_array);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
typed_array typed_array_t* 数组对象。

typed_array_extend 函数


  • 函数功能:

扩展typed_array到指定容量。

  • 函数原型:
ret_t typed_array_extend (value_type_t type, uint32_t capacity);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
type value_type_t 元素的类型。
capacity uint32_t 数组的容量(元素个数)。

typed_array_get 函数


  • 函数功能:

获取指定序数的元素。

  • 函数原型:
ret_t typed_array_get (typed_array_t* typed_array, uint32_t index, value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
typed_array typed_array_t* 数组对象。
index uint32_t 序数。
v value_t* 返回的元素。

typed_array_insert 函数


  • 函数功能:

在指定序数插入元素。

  • 函数原型:
ret_t typed_array_insert (typed_array_t* typed_array, uint32_t index, const value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
typed_array typed_array_t* 数组对象。
index uint32_t 序数。
v const value_t* 元素。

typed_array_pop 函数


  • 函数功能:

弹出最后一个元素。

  • 函数原型:
void* typed_array_pop (typed_array_t* typed_array);
  • 参数说明:
参数 类型 说明
返回值 void* 成功返回最后一个元素失败返回NULL。
typed_array typed_array_t* 数组对象。

typed_array_push 函数


  • 函数功能:

在尾巴追加一个元素。

  • 函数原型:
ret_t typed_array_push (typed_array_t* typed_array, const value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
typed_array typed_array_t* 数组对象。
v const value_t* 待追加的元素。

typed_array_remove 函数


  • 函数功能:

删除指定位置的元素。

  • 函数原型:
ret_t typed_array_remove (typed_array_t* typed_array, uint32_t index);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
typed_array typed_array_t* 数组对象。
index uint32_t 位置序数。

typed_array_set 函数


  • 函数功能:

设置指定序数的元素。

  • 函数原型:
ret_t typed_array_set (typed_array_t* typed_array, uint32_t index, const value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
typed_array typed_array_t* 数组对象。
index uint32_t 序数。
v const value_t* 元素。

typed_array_tail 函数


  • 函数功能:

返回最后一个元素。

  • 函数原型:
ret_t typed_array_tail (typed_array_t* typed_array, value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
typed_array typed_array_t* 数组对象。
v value_t* 返回的元素。

capacity 属性


数组的容量大小。

  • 类型uint32_t
特性 是否支持
可直接读取
可直接修改

data 属性


数组中的元素。

  • 类型uint8_t*
特性 是否支持
可直接读取
可直接修改

element_size 属性


单个元素的大小。

  • 类型uint32_t
特性 是否支持
可直接读取
可直接修改

size 属性


数组中元素的个数。

  • 类型uint32_t
特性 是否支持
可直接读取
可直接修改

type 属性


元素的类型。

  • 类型value_type_t
特性 是否支持
可直接读取
可直接修改