Я обеспокоен тем, что в ядре ядра у меня не будет доступа к вещам типа std::move
, std::forward
, std::initializer_list
и т.д. Хотя некоторые из этих функций встроены в язык, они по-прежнему требуют соответствующих заголовков и реализация библиотеки. Является ли следующее достаточным, чтобы воспользоваться семантикой перемещения, или мне нужно пройти девять ярдов и перенести библиотеку С++?
template <typename T>
typename remove_reference<T>::type&& move(T&& arg)
{
return static_cast<typename remove_reference<T>::type&&>(arg);
}