指定存储stxxl :: map / persist其数据的位置?

时间:2015-12-08 17:45:05

标签: c++ stxxl

stxxl::vector有一个构造函数,您可以在其中提供stxxl::file *。这将向量绑定到特定文件:

typedef stxxl::VECTOR_GENERATOR<int>::result stxxl_vector_int;
{
    stxxl::syscall_file f("some_vec.bin", stxxl::file::RDWR | stxxl::file::CREAT);
    stxxl_vector_int vec = stxxl_vector_int(&f);
    vec.push_back(1);
}
{
    stxxl::syscall_file f("some_vec.bin", stxxl::file::RDWR | stxxl::file::CREAT);
    stxxl_vector_int vec = stxxl_vector_int(&f);
    std::cout << vec.size() << std::endl;
}

在第一次运行时输出1,在第二次运行时输出2(如果文件未被删除)等等。

如何为stxxl::map执行相同的操作?我在the docs中看不到与stxxl::file有任何关系的任何函数。

具体来说,我想在磁盘上指定存储地图的位置,而不是stxxl通常在哪里执行,这样我就可以破坏实例,创建一个新实例,并让它包含与之相同的数据。被破坏的实例(即使用stxxl已有的磁盘存储机制保留stxxl::map的数据。)

0 个答案:

没有答案