1
0
Fork 0

kernel/object: Remove unnecessary std::move from DynamicObjectCast()

boost::static_pointer_cast for boost::intrusive_ptr (what SharedPtr is),
takes its parameter by const reference. Given that, it means that this
std::move doesn't actually do anything other than obscure what the
function's actual behavior is, so we can remove this. To clarify, this
would only do something if the parameter was either taking its argument
by value, by non-const ref, or by rvalue-reference.
This commit is contained in:
Lioncash 2018-09-28 02:10:22 -04:00 committed by fearlessTobi
parent 7c97e8df62
commit d64094a0d2
2 changed files with 2 additions and 3 deletions

View File

@ -6,7 +6,6 @@
#include <atomic> #include <atomic>
#include <string> #include <string>
#include <utility>
#include <boost/smart_ptr/intrusive_ptr.hpp> #include <boost/smart_ptr/intrusive_ptr.hpp>
@ -99,7 +98,7 @@ using SharedPtr = boost::intrusive_ptr<T>;
template <typename T> template <typename T>
inline SharedPtr<T> DynamicObjectCast(SharedPtr<Object> object) { inline SharedPtr<T> DynamicObjectCast(SharedPtr<Object> object) {
if (object != nullptr && object->GetHandleType() == T::HANDLE_TYPE) { if (object != nullptr && object->GetHandleType() == T::HANDLE_TYPE) {
return boost::static_pointer_cast<T>(std::move(object)); return boost::static_pointer_cast<T>(object);
} }
return nullptr; return nullptr;
} }

View File

@ -59,7 +59,7 @@ private:
template <> template <>
inline SharedPtr<WaitObject> DynamicObjectCast<WaitObject>(SharedPtr<Object> object) { inline SharedPtr<WaitObject> DynamicObjectCast<WaitObject>(SharedPtr<Object> object) {
if (object != nullptr && object->IsWaitable()) { if (object != nullptr && object->IsWaitable()) {
return boost::static_pointer_cast<WaitObject>(std::move(object)); return boost::static_pointer_cast<WaitObject>(object);
} }
return nullptr; return nullptr;
} }