А что именно не понятно?
boost::move не пользовался, пользовался std::move.
move конвертирует ссылку на lvalue в rvalue.
Например у boost::thread отсутствует копирующий оператор присваивания, но есть перемещающий оператор присваивания.
boost::thread& operator=(const boost::thread&) = delete; \\ 1
boost::thread& operator=(boost::thread&&); \\ 2
есть вот такой код
boost::thread thr1(&thr_func);
boost::thread thr2;
thr2 = thr1;
Этот код не скомпилируется из-за попытки вызвать копирующий оператор присваивания.
boost::thread thr1(&thr_func);
boost::thread thr2;
thr2 = std::move(thr1);
А вот так скомпилируется и вызовется перемещающий оператор присваивания