1

次のコードを確認してください。

グローバルラッパー関数:

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 ) ) );
4

0 に答える 0