2010-09-10 35 views
6

是否有任何良好的基于​​文件的key-> value数据结构在C++中可用。在C++中是否有任何有名的基于文件的key-> value datastructure?

类似于插入/删除/获取O(logn)的std :: map(基于模板)。

+2

这不是你的问题的真正答案,所以我只是作为评论添加它。你有没有考虑过使用数据库?特别是,我正在考虑将sqlite作为可以嵌入到C++应用程序中而不需要太多努力的东西。 – 2010-09-10 10:18:58

+0

如果可能的话,我是寻找一个普通的数据结构没有数据库。 – aeh 2010-09-10 10:46:12

+2

无论如何它将基于文件,这似乎是一个奇怪的要求 – jalf 2010-09-10 10:55:25

回答

13

STXXL - 用于XXL数据集的标准模板库实现了基于文件的容器。

stxxl :: map与std :: map非常相似,基于B+ tree,具有插入/删除/获取O(logn)。

1

你可以看看Oracle Berkeley DB它提供了你需要的底层密钥,数据存储机制或者已经建议的sqlite。

0

也许你可以将自己的模板机制添加到像redist这样的数据库。如果你有一个基于字符串的数据库,你需要一些方法来序列化/反序列化你自己的对象。也许谷歌协议缓冲区或一个自定义的JSON/XML导出器/导入器为你做,取决于你是否只想要速度或易于使用。

相关问题