diff options
author | ben <ben@yyls03> | 2015-02-17 17:05:29 +0800 |
---|---|---|
committer | Kirk Shoop <kirk.shoop@microsoft.com> | 2015-04-11 17:28:06 -0700 |
commit | d7a795119a52d76fba64a8bf2fa672575e07a012 (patch) | |
tree | fbdeef4c5746b72a38fcaaf00a0d774e1a97c179 /Ix | |
parent | b38a4f085b9abd9dba694964e5bc68e1a92f3fb8 (diff) | |
download | RxCpp-d7a795119a52d76fba64a8bf2fa672575e07a012.tar.gz |
Don't return std::move(t); It prevents NRVO and is almost always wrong
Diffstat (limited to 'Ix')
-rw-r--r-- | Ix/CPP/src/cpplinq/linq.hpp | 2 | ||||
-rw-r--r-- | Ix/CPP/src/cpplinq/linq_last.hpp | 4 | ||||
-rw-r--r-- | Ix/CPP/src/cpplinq/linq_skip.hpp | 2 | ||||
-rw-r--r-- | Ix/CPP/src/cpplinq/linq_take.hpp | 2 |
4 files changed, 5 insertions, 5 deletions
diff --git a/Ix/CPP/src/cpplinq/linq.hpp b/Ix/CPP/src/cpplinq/linq.hpp index 5f08588..80894e8 100644 --- a/Ix/CPP/src/cpplinq/linq.hpp +++ b/Ix/CPP/src/cpplinq/linq.hpp @@ -526,7 +526,7 @@ template <class TContainer> linq_driver<iter_cursor<typename util::container_traits<TContainer>::iterator>> from(TContainer& c) { auto cur = iter_cursor<typename util::container_traits<TContainer>::iterator>(begin(c), end(c)); - return std::move(cur); + return cur; } template <class T> const linq_driver<T>& from(const linq_driver<T>& c) diff --git a/Ix/CPP/src/cpplinq/linq_last.hpp b/Ix/CPP/src/cpplinq/linq_last.hpp index fd08823..cb2bf76 100644 --- a/Ix/CPP/src/cpplinq/linq_last.hpp +++ b/Ix/CPP/src/cpplinq/linq_last.hpp @@ -17,7 +17,7 @@ namespace cpplinq { if (c.empty()) break; elem = c.get(); } - return std::move(elem); + return elem; } // TODO: bidirectional iterator in constant time @@ -54,7 +54,7 @@ namespace cpplinq { elem = c.get(); c.inc(); } - return std::move(elem); + return elem; } template <class Cursor> diff --git a/Ix/CPP/src/cpplinq/linq_skip.hpp b/Ix/CPP/src/cpplinq/linq_skip.hpp index 422592a..bcaf5f4 100644 --- a/Ix/CPP/src/cpplinq/linq_skip.hpp +++ b/Ix/CPP/src/cpplinq/linq_skip.hpp @@ -22,7 +22,7 @@ namespace cpplinq cur.inc(); } cur.forget(); - return std::move(cur); + return cur; } private: diff --git a/Ix/CPP/src/cpplinq/linq_take.hpp b/Ix/CPP/src/cpplinq/linq_take.hpp index 63f7449..7e16d6e 100644 --- a/Ix/CPP/src/cpplinq/linq_take.hpp +++ b/Ix/CPP/src/cpplinq/linq_take.hpp @@ -56,7 +56,7 @@ namespace cpplinq if (cur.size() > n) { cur.truncate(n); } - return std::move(cur); + return cur; } } |