Commit: 4df64a4393cd25970dc5a9704b7a78e7ada63a91
Author: Jacques Lucke
Date: Tue Jun 4 18:14:37 2019 +0200
Branches: functions
https://developer.blender.org/rB4df64a4393cd25970dc5a9704b7a78e7ada63a91
improve move semantic usage in BLI::Optional
===================================================================
M source/blender/blenlib/BLI_optional.hpp
===================================================================
diff --git a/source/blender/blenlib/BLI_optional.hpp
b/source/blender/blenlib/BLI_optional.hpp
index a845ce270f1..904fa153e1e 100644
--- a/source/blender/blenlib/BLI_optional.hpp
+++ b/source/blender/blenlib/BLI_optional.hpp
@@ -43,7 +43,7 @@ template<typename T> class Optional {
Optional(T &&value) : Optional()
{
- this->set(value);
+ this->set(std::forward<T>(value));
}
Optional(const Optional &other) : Optional()
@@ -118,10 +118,11 @@ template<typename T> class Optional {
void set(T &&value)
{
if (m_set) {
- std::copy_n(&value, 1, this->value_ptr());
+ std::copy_n(std::make_move_iterator(&value), 1, this->value_ptr());
}
else {
- std::uninitialized_copy_n(&value, 1, this->value_ptr());
+ std::uninitialized_copy_n(std::make_move_iterator(&value), 1,
this->value_ptr());
+ m_set = true;
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs