From Boost::Thread:
template <typename R>
class shared_future
{
...
// move support
shared_future(shared_future && other);
shared_future(unique_future<R> && other);
shared_future& operator=(shared_future && other);
shared_future& operator=(unique_future<R> && other);
...
}
What on earth are those double-ampersands ? I went over "BS The C++ Langauge 3d edition" and couldn't find any explanation.