(работает в gcc-4.9.2 и msvc2013)
у передать значение черезstd::bind
на функцию, которая принимает ссылку Rvalue в C ++ 0x. Я не могу понять, как это сделать. Например:
#include <utility>
#include <functional>
template<class Type>
void foo(Type &&value)
{
Type new_object = std::forward<Type>(value); // move-construct if possible
}
class Movable
{
public:
Movable(Movable &&) = default;
Movable &operator=(Movable &&) = default;
};
int main()
{
auto f = std::bind(foo<Movable>, Movable());
f(); // error, but want the same effect as foo(Movable())
}