summaryrefslogtreecommitdiff
path: root/Ix
diff options
context:
space:
mode:
authorben <ben@yyls03>2015-02-17 17:05:29 +0800
committerKirk Shoop <kirk.shoop@microsoft.com>2015-04-11 17:28:06 -0700
commitd7a795119a52d76fba64a8bf2fa672575e07a012 (patch)
treefbdeef4c5746b72a38fcaaf00a0d774e1a97c179 /Ix
parentb38a4f085b9abd9dba694964e5bc68e1a92f3fb8 (diff)
downloadRxCpp-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.hpp2
-rw-r--r--Ix/CPP/src/cpplinq/linq_last.hpp4
-rw-r--r--Ix/CPP/src/cpplinq/linq_skip.hpp2
-rw-r--r--Ix/CPP/src/cpplinq/linq_take.hpp2
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;
}
}