Files
XCEngine/docs/api/memory/linear-allocator/linear-allocator.md

39 lines
1.6 KiB
Markdown
Raw Normal View History

# LinearAllocator
**命名空间**: `XCEngine::Memory`
**类型**: `class`
**头文件**: `XCEngine/Memory/LinearAllocator.h`
**描述**: 线性分配器,适合帧分配和临时对象。
## 概述
`LinearAllocator` 是一种顺序分配器,预分配一个大缓冲区,每次分配从缓冲区起始位置顺序分配,偏移量递增。它不适合需要释放任意块的场景,但分配和清除非常高效,常用于帧分配器。
## 公共方法
| 方法 | 描述 |
|------|------|
| [`LinearAllocator`](constructor.md) | 构造线性分配器 |
| [`~LinearAllocator`](~linear-allocator.md) | 析构函数,释放底层缓冲区 |
| [`Allocate`](allocate.md) | 顺序分配内存 |
| [`Free`](free.md) | 无效果(不支持) |
| [`Reallocate`](reallocate.md) | 不支持(始终返回 nullptr |
| [`Clear`](clear.md) | 清空所有分配 |
| [`GetMarker`](get-marker.md) | 获取当前位置标记 |
| [`SetMarker`](set-marker.md) | 回滚到指定标记位置 |
| [`GetUsedSize`](get-used-size.md) | 获取已使用字节数 |
| [`GetCapacity`](get-capacity.md) | 获取总容量 |
| [`GetName`](get-name.md) | 获取分配器名称 |
| [`GetTotalAllocated`](get-total-allocated.md) | 获取累计分配字节数 |
| [`GetTotalFreed`](get-total-freed.md) | 获取累计释放字节数 |
| [`GetPeakAllocated`](get-peak-allocated.md) | 获取峰值分配字节数 |
| [`GetAllocationCount`](get-allocation-count.md) | 获取分配次数 |
## 相关文档
- [Memory 模块总览](../memory.md) - 返回模块总览
- [IAllocator](../allocator/allocator.md) - 分配器接口