检查以下代码:
全局包装函数:
static Storage::Stream::Object reqStreamStatic( Storage::Stream::Object& stream, const std::string& identifier )
{
return stream;
}
boost::function 的声明:
Storage::Stream::Object stream( file, iFormat );
BOOST_AUTO( onReqStream, boost::lambda::bind( &Impl::reqStreamStatic, boost::lambda::var( stream ), boost::lambda::_1 ) );
如您所见,包装函数只返回给定的流。现在我正在寻找删除包装函数的解决方案,因此生成的编码如下所示:
BOOST_AUTO( onReqStream, boost::lambda::ret< Storage::Stream::Object >( boost::lambda::bind( boost::lambda::var( stream ), boost::lambda::_1 ) ) );