vector

std.collections.vector

rec Vector

pub rec Vector[T];

由 Allocator 支持的可调整大小的向量

a:用于分配的分配器 data:指向后备数组的指针 len:向量中的元素数量 cap:后备数组的已分配容量

fun init

pub fun init[T](a: *A.Allocator) Vector[T];

使用提供的分配器创建一个空向量

a:用于分配的分配器 ret:一个新的空 Vector[T]

fun dnit

pub fun dnit[T](vec: *Vector[T]) bool;

释放后备缓冲区并重置向量字段

vec:要反初始化的向量 ret:如果内存成功反分配则为 true

fun is_empty

pub fun is_empty[T](vec: *Vector[T]) bool;

检查向量是否为空

ret:如果向量没有元素则为 true

fun clear

pub fun clear[T](vec: *Vector[T]);

清空向量内容但保留已分配的容量

vec:要清空的向量

fun reserve

pub fun reserve[T](vec: *Vector[T], additional: usize) R.Result[usize, str];

为额外的元素预留空间,必要时扩展后备数组

vec:要在其中预留空间的向量 additional:要预留空间的额外元素数量 ret:新容量,或错误消息

fun ensure

pub fun ensure[T](vec: *Vector[T], cap: usize) R.Result[usize, str];

确保向量至少具有给定的容量,必要时进行扩展

vec:要确保容量的向量 cap:要确保的最小容量 ret:新容量,或错误消息

fun push

pub fun push[T](vec: *Vector[T], value: T) R.Result[usize, str];

向向量追加一个值

value:要追加的值 ret:新长度,或错误消息

fun pop

pub fun pop[T](vec: *Vector[T]) R.Result[T, str];

移除并返回最后一个元素

ret:该值,如果为空则返回错误消息

fun get

pub fun get[T](vec: *Vector[T], index: usize) R.Result[*T, str];

获取指向给定索引处元素的指针

index:元素索引 ret:指向元素的指针,或错误消息