私は、boost :: unwrap_referenceをC++ 11に多く使うコードを移植するつもりです。コードはstd :: reference_wrapperをunwrapする方法:: boost :: unwrap_reference
template< typename T, typename Y>
void initialize(T _t, Y y)
{
typename boost::unwrap_reference<T>::type & t = _t;
t.doSomethingNastyWithY(y);
}
// The function is called like this
struct DoSomething
{
template<typename Y>
void doSomethingNastyWithY(Y y)
{
// do stuff
}
};
struct Object {};
DoSomething s;
Object obj;
int main()
{
initialize(s, obj); // Take a copy of DoSomething
initialize(boost::ref(s), obj); // Uses DoSomething as reference
}
のように、私が後押しする:: unwrap_referenceをSTLに相当するものを見つけることができませんでした、多くのメンバ関数を呼び出して、これを行うために他のまっすぐな方法はありますか?
編集:私はの線に沿って
'_t_stepper'は? –