我目前正在使用boost序列化将对象图保存在xml文件中。该库很棒,它会自动恢复对象和所有成员指针和引用。
问题: 我需要随机访问数据(只读取一个对象,或只删除一个对象)。通过boost序列化,场景如下:
- 从文件加载所有对象
- 使用和修改对象
- 将所有对象再次归档
这样做的缺点是,如果只有一个对象发生了变化,我只想写入该对象的归档,而不是整个对象图形。这就是巨大的。
所以我正在寻找支持将所有对象存储到数据库的库,并且还支持boost和stl类型。目前我正在使用这些提升类型:
提升多指数
Smart Ptr(shared_ptr,weak_ptr,scoped_ptr)
可选的,变体
任何人都知道这样的图书馆或其附近的东西,或者知道如何解决这个问题?
答案 0 :(得分:2)
做这样的事情非常复杂。由于C ++(运行时环境)对自身一无所知,因此您必须自己编写代码。我的建议是将图形拆分为不同的文件并仅更新所需的文件(这意味着您必须自己控制序列化,而不是使用boost lib)。
答案 1 :(得分:2)
答案 2 :(得分:1)
也许Wt::Dbo?通过向您的类添加单个模板函数,Dbo将它们映射到SQL数据库。