GFDeque¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/foundation/collections/gf_deque.gd - 模块:
Standard - 继承:
RefCounted - API:
public - 类别:值对象 (
value_object) - 首次版本:
5.0.0
通用双端队列。 使用环形数组保存队列内容,支持从头尾 O(1) 追加、读取和移除。 它只维护元素顺序和容量,不解释任务、历史、动画或业务载荷语义。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 常量 | DEFAULT_CAPACITY |
const DEFAULT_CAPACITY: int = 8 |
| 方法 | from_array |
static func from_array(values: Array, initial_capacity: int = 0) -> RefCounted: |
| 方法 | push_front |
func push_front(value: Variant) -> void: |
| 方法 | push_back |
func push_back(value: Variant) -> void: |
| 方法 | pop_front |
func pop_front(default_value: Variant = null) -> Variant: |
| 方法 | pop_back |
func pop_back(default_value: Variant = null) -> Variant: |
| 方法 | peek_front |
func peek_front(default_value: Variant = null) -> Variant: |
| 方法 | peek_back |
func peek_back(default_value: Variant = null) -> Variant: |
| 方法 | at |
func at(index: int, default_value: Variant = null) -> Variant: |
| 方法 | set_at |
func set_at(index: int, value: Variant) -> bool: |
| 方法 | reserve |
func reserve(min_capacity: int) -> void: |
| 方法 | trim_front |
func trim_front(max_size: int) -> int: |
| 方法 | trim_back |
func trim_back(max_size: int) -> int: |
| 方法 | clear |
func clear() -> void: |
| 方法 | is_empty |
func is_empty() -> bool: |
| 方法 | size |
func size() -> int: |
| 方法 | capacity |
func capacity() -> int: |
| 方法 | to_array |
func to_array(deep: bool = false) -> Array: |
| 方法 | duplicate_deque |
func duplicate_deque(deep: bool = false) -> RefCounted: |
| 方法 | get_debug_snapshot |
func get_debug_snapshot() -> Dictionary: |
常量¶
DEFAULT_CAPACITY¶
- API:
public - 首次版本:
5.0.0
默认底层容量。
方法¶
from_array¶
- API:
public - 首次版本:
5.0.0
从数组创建双端队列。
参数:
| 名称 | 说明 |
|---|---|
values |
按队列顺序写入的初始元素。 |
initial_capacity |
初始容量;小于元素数量时会自动扩容。 |
返回:新双端队列;实际对象类型为 GFDeque。
结构:
values: Array of queue values copied by reference.return: RefCounted GFDeque instance.
push_front¶
- API:
public - 首次版本:
5.0.0
在队头追加元素。
参数:
| 名称 | 说明 |
|---|---|
value |
要追加的元素。 |
结构:
value: Variant queue value.
push_back¶
- API:
public - 首次版本:
5.0.0
在队尾追加元素。
参数:
| 名称 | 说明 |
|---|---|
value |
要追加的元素。 |
结构:
value: Variant queue value.
pop_front¶
- API:
public - 首次版本:
5.0.0
移除并返回队头元素。
参数:
| 名称 | 说明 |
|---|---|
default_value |
队列为空时返回的默认值。 |
返回:队头元素或默认值。
结构:
default_value: Variant fallback value.return: Variant queue value or fallback value.
pop_back¶
- API:
public - 首次版本:
5.0.0
移除并返回队尾元素。
参数:
| 名称 | 说明 |
|---|---|
default_value |
队列为空时返回的默认值。 |
返回:队尾元素或默认值。
结构:
default_value: Variant fallback value.return: Variant queue value or fallback value.
peek_front¶
- API:
public - 首次版本:
5.0.0
读取队头元素但不移除。
参数:
| 名称 | 说明 |
|---|---|
default_value |
队列为空时返回的默认值。 |
返回:队头元素或默认值。
结构:
default_value: Variant fallback value.return: Variant queue value or fallback value.
peek_back¶
- API:
public - 首次版本:
5.0.0
读取队尾元素但不移除。
参数:
| 名称 | 说明 |
|---|---|
default_value |
队列为空时返回的默认值。 |
返回:队尾元素或默认值。
结构:
default_value: Variant fallback value.return: Variant queue value or fallback value.
at¶
- API:
public - 首次版本:
5.0.0
按队列顺序读取元素。
参数:
| 名称 | 说明 |
|---|---|
index |
队列顺序索引;负数从队尾倒数。 |
default_value |
索引越界时返回的默认值。 |
返回:对应元素或默认值。
结构:
default_value: Variant fallback value.return: Variant queue value or fallback value.
set_at¶
- API:
public - 首次版本:
5.0.0
按队列顺序替换元素。
参数:
| 名称 | 说明 |
|---|---|
index |
队列顺序索引;负数从队尾倒数。 |
value |
新元素。 |
返回:替换成功返回 true。
结构:
value: Variant queue value.
reserve¶
- API:
public - 首次版本:
5.0.0
至少保留指定底层容量。
参数:
| 名称 | 说明 |
|---|---|
min_capacity |
最小底层容量。 |
trim_front¶
- API:
public - 首次版本:
5.0.0
从队头裁剪多余元素,使队列最多保留 max_size 个元素。
参数:
| 名称 | 说明 |
|---|---|
max_size |
保留数量;小于 0 时不裁剪。 |
返回:实际移除数量。
trim_back¶
- API:
public - 首次版本:
5.0.0
从队尾裁剪多余元素,使队列最多保留 max_size 个元素。
参数:
| 名称 | 说明 |
|---|---|
max_size |
保留数量;小于 0 时不裁剪。 |
返回:实际移除数量。
clear¶
- API:
public - 首次版本:
5.0.0
清空队列。
is_empty¶
- API:
public - 首次版本:
5.0.0
队列是否为空。
返回:为空返回 true。
size¶
- API:
public - 首次版本:
5.0.0
获取元素数量。
返回:元素数量。
capacity¶
- API:
public - 首次版本:
5.0.0
获取底层容量。
返回:底层容量。
to_array¶
- API:
public - 首次版本:
5.0.0
按队列顺序导出数组。
参数:
| 名称 | 说明 |
|---|---|
deep |
为 true 时深拷贝元素中的 Array、Dictionary、Object Resource 等可复制值。 |
返回:队列元素数组。
结构:
return: Array of queue values in front-to-back order.
duplicate_deque¶
- API:
public - 首次版本:
5.0.0
复制双端队列。
参数:
| 名称 | 说明 |
|---|---|
deep |
为 true 时深拷贝元素中的 Array、Dictionary、Object Resource 等可复制值。 |
返回:新双端队列;实际对象类型为 GFDeque。
结构:
return: RefCounted GFDeque instance.
get_debug_snapshot¶
- API:
public - 首次版本:
5.0.0
获取调试快照。
返回:调试信息字典。
结构:
return: Dictionary with size, capacity, and front_index.