将stxxl::vector映射到带有头文件

Mapping an stxxl::vector to a File with Header

本文关键字:文件 映射 stxxl vector      更新时间:2023-10-16

我有一个大的二进制(STL)文件,它以一个已知的固定大小的头开始,然后继续使用一堆固定大小的缓冲区(pod)表示连续的记录。

我想将文件的记录部分映射到stxxl::vector以进行快速的核外处理。
stxxl::vector<>有一个接受stxxl::file的actor,但我不知道如何告诉actor从正确的偏移量开始文件解析。

我可以这样做吗?如果可以,怎么做?

是的,这应该可以很容易地实现。

stxxl::vector有一个使用文件的构造函数。vector_type v(&f);

这个构造函数只是创建块,这些块通过偏移量引用文件块。您可以修改此构造函数以添加额外的头偏移量。