diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-10-18 10:30:58 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-10-18 12:08:35 -0700 |
commit | cfc28b7a0e2220bfe0a736a4cac88ed0fd910d79 (patch) | |
tree | 85173b84739365a1c8f66af756dbfc1ed1c1f73d | |
parent | 289f4fbbbcac870f427c5f42d4ed35449bc8aca3 (diff) | |
download | qtlocation-mapboxgl-cfc28b7a0e2220bfe0a736a4cac88ed0fd910d79.tar.gz |
Move, don't copy construct
-rw-r--r-- | include/mbgl/style/conversion.hpp | 6 | ||||
-rw-r--r-- | platform/node/src/node_conversion.hpp | 2 | ||||
-rw-r--r-- | platform/qt/src/qt_conversion.hpp | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/include/mbgl/style/conversion.hpp b/include/mbgl/style/conversion.hpp index 26cccacd33..41ccbf0ff2 100644 --- a/include/mbgl/style/conversion.hpp +++ b/include/mbgl/style/conversion.hpp @@ -247,12 +247,12 @@ private: }, [] (const Storage& s, const char * key) { optional<T> member = Traits::objectMember(reinterpret_cast<const T&>(s), key); - if (member) return optional<Convertible>(*member); + if (member) return optional<Convertible>(std::move(*member)); return optional<Convertible>(); }, [] (const Storage& s, const std::function<optional<Error> (const std::string&, const Convertible&)>& fn) { - return Traits::eachMember(reinterpret_cast<const T&>(s), [&](const std::string& k, const T& v) { - return fn(k, Convertible(v)); + return Traits::eachMember(reinterpret_cast<const T&>(s), [&](const std::string& k, const T&& v) { + return fn(k, Convertible(std::move(v))); }); }, [] (const Storage& s) { diff --git a/platform/node/src/node_conversion.hpp b/platform/node/src/node_conversion.hpp index ed457c1a39..7c5bbf4386 100644 --- a/platform/node/src/node_conversion.hpp +++ b/platform/node/src/node_conversion.hpp @@ -66,7 +66,7 @@ public: for (uint32_t i = 0; i < names->Length(); ++i) { v8::Local<v8::Value> k = Nan::Get(names, i).ToLocalChecked(); v8::Local<v8::Value> v = Nan::Get(Nan::To<v8::Object>(value).ToLocalChecked(), k).ToLocalChecked(); - optional<Error> result = fn(*Nan::Utf8String(k), v); + optional<Error> result = fn(*Nan::Utf8String(k), std::move(v)); if (result) { return result; } diff --git a/platform/qt/src/qt_conversion.hpp b/platform/qt/src/qt_conversion.hpp index eaeb391db0..19b0cb54fc 100644 --- a/platform/qt/src/qt_conversion.hpp +++ b/platform/qt/src/qt_conversion.hpp @@ -59,7 +59,7 @@ public: auto iter = map.constBegin(); while (iter != map.constEnd()) { - optional<Error> result = fn(iter.key().toStdString(), iter.value()); + optional<Error> result = fn(iter.key().toStdString(), QVariant(iter.value())); if (result) { return result; } |