slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
Public 成员函数 | Private 属性 | 所有成员列表
z8::ResourcePool< ResourceTy > 模板类 参考

ResourceManager 内部使用的分类型所有权容器。 更多...

#include <ResourcePool.h>

类 z8::ResourcePool< ResourceTy > 继承关系图:
Inheritance graph
[图例]

Public 成员函数

ResourceRef< ResourceTyAdd (std::string assetId, std::unique_ptr< ResourceTy > resource)
 
ResourceRef< ResourceTyFind (const std::string &assetId) const
 
size_t Size () const
 
ResourceTyTryGet (ResourceRef< ResourceTy > reference)
 
const ResourceTyTryGet (ResourceRef< ResourceTy > reference) const
 
template<typename VisitorTy >
void Visit (VisitorTy &&visitor) const
 

Private 属性

std::vector< std::unique_ptr< ResourceTy > > Slots
 
std::unordered_map< std::string, ResourceRef< ResourceTy > > AssetIndex
 

详细描述

template<typename ResourceTy>
class z8::ResourcePool< ResourceTy >

ResourceManager 内部使用的分类型所有权容器。

每个槽位独占一个资源对象;外部只保存已解析的 ResourceRef。资源在应用退出前 常驻且槽位不复用,因此 Index 在 ResourceManager 生命周期内保持稳定。

成员函数说明

◆ Add()

template<typename ResourceTy >
ResourceRef< ResourceTy > z8::ResourcePool< ResourceTy >::Add ( std::string assetId,
std::unique_ptr< ResourceTy > resource )
inline

接管资源所有权并返回已解析引用;空资源、空 ID 或重复 ID 返回空引用。

◆ Find()

template<typename ResourceTy >
ResourceRef< ResourceTy > z8::ResourcePool< ResourceTy >::Find ( const std::string & assetId) const
inline

只解析已驻留资源,不触发加载;未知 ID 返回空引用。

◆ Size()

template<typename ResourceTy >
size_t z8::ResourcePool< ResourceTy >::Size ( ) const
inline

◆ TryGet() [1/2]

template<typename ResourceTy >
ResourceTy * z8::ResourcePool< ResourceTy >::TryGet ( ResourceRef< ResourceTy > reference)
inline

校验已解析 Index 后返回观察指针,待解析或越界引用返回空。

◆ TryGet() [2/2]

template<typename ResourceTy >
const ResourceTy * z8::ResourcePool< ResourceTy >::TryGet ( ResourceRef< ResourceTy > reference) const
inline

const 查询与可写查询保持相同的索引有效性规则。

函数调用图:

◆ Visit()

template<typename ResourceTy >
template<typename VisitorTy >
void z8::ResourcePool< ResourceTy >::Visit ( VisitorTy && visitor) const
inline

按稳定槽位顺序访问驻留资源,供 GPU 缓存确定性构建。

类成员变量说明

◆ AssetIndex

template<typename ResourceTy >
std::unordered_map<std::string, ResourceRef<ResourceTy> > z8::ResourcePool< ResourceTy >::AssetIndex
private

◆ Slots

template<typename ResourceTy >
std::vector<std::unique_ptr<ResourceTy> > z8::ResourcePool< ResourceTy >::Slots
private

该类的文档由以下文件生成: