类
查看源码StaticArena
上游未提供类型说明。
构造与析构
2StaticArena
StaticArena< Size >::StaticArena ()=default
上游未提供说明。
memory/StaticArena/static_arena.hpp:24StaticArena
StaticArena< Size >::StaticArena (const StaticArena &)=delete
上游未提供说明。
memory/StaticArena/static_arena.hpp:22成员函数
7allocate
void * StaticArena< Size >::allocate (const size_t size, const size_t alignment=alignof(std::max_align_t))
原子化基础分配接口。 通过 CAS 确保并发任务下只有一个分配者能成功推进 offset_。 这里没有 free 接口,因为分配器的目标就是“只增不减”,从而让实现尽量简单可靠。
memory/StaticArena/static_arena.hpp:32capacity
size_t StaticArena< Size >::capacity () const
上游未提供说明。
memory/StaticArena/static_arena.hpp:81clear
void StaticArena< Size >::clear ()
重置分配器。 这会让所有已分配对象在逻辑上失效,只有在系统重新初始化时使用。 你可以把它理解为“整块内存池一起回收”,而不是逐个对象析构。
memory/StaticArena/static_arena.hpp:96create
T * StaticArena< Size >::create (Args &&... args)
线程安全的对象构造接口。 注意:这里只保证“拿到一块唯一内存”是原子的,构造函数本身是否线程安全取决于 T 自己。 如果 T 的构造过程里会访问共享资源,调用方仍然需要自己处理并发关系。
memory/StaticArena/static_arena.hpp:65operator=
StaticArena & StaticArena< Size >::operator= (const StaticArena &)=delete
上游未提供说明。
memory/StaticArena/static_arena.hpp:23usage_ratio
double StaticArena< Size >::usage_ratio () const
上游未提供说明。
memory/StaticArena/static_arena.hpp:85used
size_t StaticArena< Size >::used () const
上游未提供说明。
memory/StaticArena/static_arena.hpp:77成员变量
2buffer_
std::byte StaticArena< Size >::buffer_[Size] [Size]
上游未提供说明。
memory/StaticArena/static_arena.hpp:17offset_
std::atomic<size_t> StaticArena< Size >::offset_
上游未提供说明。
memory/StaticArena/static_arena.hpp:18