c++ - 谷物多态层次序列化深度
问题描述
所以我有以下问题。我有一个资产基类。然后我有一个派生自它的 Texture 类,从那里我有 VulkanTexture、OpenGLTexture 和 DirectXTexture,它们都继承了 Texture。序列化纹理时,我只需要纹理本身(因为它具有可以读/写数据的必要虚拟方法)而不是特定于 API 的。我正在序列化资产,并从那里Save(Archive, Texture)
自动调用该方法,然后我调用archive(base_class<Asset>(texture))
. Asset 和 Texture 是注册类型 usingCEREAL_REGISTER_TYPE
并且它们的关系也被注册,但似乎我可能需要注册 VulkanTexture 并为其创建一个序列化函数。有没有办法解决这个问题,因为它需要更多的“无用”代码,因为我必须为很多课程做这件事?
解决方案
推荐阅读
- binary-tree - 平衡二叉搜索树中的预期比较
- python - Python 和 numpy:在给定一批新样本的情况下维护一个最高值的列表(或 numpy 数组)?
- sas - 如何在 SAS proc SQL 中使用 MS SQL 窗口函数
- javascript - 无法从中获取输入值
- jmeter - Jmeter - 将日期时移 12 个月
- node.js - 使用弹性 APM API 时如何创建 traceId 和开始/结束时间?
- json - Swagger - 默认某些对象项未指定/缺失
- masstransit - 在 MassTransit 中设置 QueueExpiration 的后果?
- r - 在 ggplot (R) 上包装 geom_text / geom_label
- java - 是否有一个库,它在给定的两个字符串上提供占位符值?