filament里的Blob和Handle,把vector当内存使用和管理对象

filament继续看,对象是如何管理的。。

 

Blob就是vector<uint8_t>

HandleMap 是无序map,HandleId是uint32_t

也就是对象的数据放在Blob里,生成一个id,而Handle继承HandledBase,里面就一个成员是HandleId的object,好显然这个就是object 的键值

分配是

先加锁,然后Dp是分配的类型,B是父类或者是接口,把Blob放到map里,且blob的大小和分配的类型一样大,然后返回没什么好说的

二进制数据在Blob里,那么显然Blob.data()就是数据的指针,那么这块数据类型是uint8_t,所以还需要强制转换。。filament这样干的

还是加锁,然后查一遍map,找到了把数据取出来,用reinterpret_cast转换,转成Dp也就是本来的数据格式

那么构造呢?数据是这样写入的。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值