Я читаю gzip-файл, используя boost iostreams:
namespace io = boost::iostreams;
io::filtering_istream in;
in.push(boost::iostreams::basic_gzip_decompressor<>());
in.push(io::file_source("test.gz"));
stringstream ss;
copy(in, ss);
Однако я не хочу тратить память на чтение всего gzip-файла. в память. Я хочу иметь возможность читать файл инкрементально.
Например, если у меня есть структура данных X, которая инициализируется из istream,
X x;
x.read(in);
ничего не получится. Предположительно, это происходит потому, что нам, возможно, придется возвращать символы в поток. если мы делаем частичные потоки. Есть идеи, поддерживает ли boost iostreams это?