我有这个使用 Boost.Iostreams 执行解压缩的流:
struct istream_zlib
: public boost::iostreams::filtering_stream<boost::iostreams::input, char>
{
istream_zlib(std::istream& in)
{
push(boost::iostreams::zlib_decompressor());
push(in);
}
};
现在,我想std::istream& in
稍后访问底层流 ( )。天真地,我认为请求std::istream
通过component()
会做到这一点,但我得到的指针是null
:
auto ptr = component<std::istream>(1); // ptr is null!
我应该为此提供什么类型component()
?