- Fix include paths: use #include "Threading/..." instead of <XCEngine/Threading/...> - Document protected ITask constructors (ITask(), ITask(TaskPriority)) - Document Callback typedef in TaskGroup - Clarify Mutex STL-compatible methods are const - Note GetProgress() implementation limitation (returns 0.0f)
2.1 KiB
2.1 KiB
Array
命名空间: XCEngine::Containers
类型: class (template)
描述: 模板动态数组容器,提供自动扩容的数组实现。
概述
Array<T> 是一个模板动态数组容器,提供了类似 std::vector 的功能,但针对游戏引擎进行了优化。
类型别名
| 别名 | 类型 | 描述 |
|---|---|---|
Iterator |
T* |
迭代器类型 |
ConstIterator |
const T* |
常量迭代器类型 |
公共方法
构造/析构
| 方法 | 描述 |
|---|---|
| Constructor | 构造数组实例 |
| Copy/Move Constructor | 拷贝或移动构造 |
| Destructor | 析构函数 |
| operator= | 赋值运算符 |
元素访问
| 方法 | 描述 |
|---|---|
| operator[] | 下标访问 |
| Data | 获取原始数据指针 |
| Front/Back | 获取首/尾元素引用 |
容量管理
| 方法 | 描述 |
|---|---|
| Size/Capacity/Empty | 获取尺寸信息 |
| Clear | 清空所有元素 |
| Reserve | 预留容量 |
| Resize | 调整大小 |
元素操作
| 方法 | 描述 |
|---|---|
| PushBack | 尾部添加(拷贝/移动) |
| EmplaceBack | 就地构造尾部添加 |
| PopBack | 尾部移除 |
迭代器
| 方法 | 描述 |
|---|---|
| begin/end | 获取迭代器 |
内存分配器
| 方法 | 描述 |
|---|---|
| SetAllocator | 设置内存分配器 |
使用示例
#include <XCEngine/Containers/Array.h>
// 基本用法
XCEngine::Containers::Array<int> arr;
arr.PushBack(1);
arr.PushBack(2);
arr.PushBack(3);
// 使用 initializer_list
XCEngine::Containers::Array<int> arr2 = {1, 2, 3, 4, 5};
// 迭代
for (auto& elem : arr) {
printf("%d\n", elem);
}
// 使用 EmplaceBack
arr.EmplaceBack(4);