$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] [iostreams] array and gzip_decompressor
From: Nikolay Mladenov (nikolay.mladenov_at_[hidden])
Date: 2010-02-24 01:48:50
Recently I came back to a source written some time ago, that was
running then but it is not compiling now.
the failing snippet is:
typedef boost::iostreams::composite<boost::iostreams::gzip_decompressor,
boost::iostreams::array_source>
array_gzip_decompressor;
boost::iostreams::gzip_decompressor filter;
boost::iostreams::array_source source(&_storage[0], _storage.size());
array_gzip_decompressor dev(filter,source);
boost::iostreams::stream_buffer<array_gzip_decompressor> ibuf(dev);
the error is:
> boost\iostreams\read.hpp(191) : error C2039: 'putback' : is not a member of 'boost::iostreams::detail::direct_adapter<Direct>'
> with [ Direct=boost::iostreams::array_source ]
It seems to me that gzip_decompressor requires peekable source, but
array_source is not peekable.
Is there another way I should be creating gzipped stream into memory?
Or maybe the arrays could be made peekable?
Thanks in advance,
Nikolay Mladenov