[libcxx] r321852 - Move + and * operators of MoveOnly into MoveOnly.h.

Billy Robert O'Neal III via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 4 17:32:00 PST 2018


Author: bion
Date: Thu Jan  4 17:32:00 2018
New Revision: 321852

URL: http://llvm.org/viewvc/llvm-project?rev=321852&view=rev
Log:
Move + and * operators of MoveOnly into MoveOnly.h.

Modified:
    libcxx/trunk/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp
    libcxx/trunk/test/support/MoveOnly.h

Modified: libcxx/trunk/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp?rev=321852&r1=321851&r2=321852&view=diff
==============================================================================
--- libcxx/trunk/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp (original)
+++ libcxx/trunk/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp Thu Jan  4 17:32:00 2018
@@ -58,16 +58,6 @@ void test_return_type()
                        decltype(std::transform_reduce(p, p, p, Init{}))> );
 }
 
-inline MoveOnly operator+(const MoveOnly& lhs, const MoveOnly& rhs)
-{
-    return MoveOnly{lhs.get() + rhs.get()};
-}
-
-inline MoveOnly operator*(const MoveOnly& lhs, const MoveOnly& rhs)
-{
-    return MoveOnly{lhs.get() * rhs.get()};
-}
-
 void test_move_only_types()
 {
     MoveOnly ia[] = {{1}, {2}, {3}};

Modified: libcxx/trunk/test/support/MoveOnly.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/MoveOnly.h?rev=321852&r1=321851&r2=321852&view=diff
==============================================================================
--- libcxx/trunk/test/support/MoveOnly.h (original)
+++ libcxx/trunk/test/support/MoveOnly.h Thu Jan  4 17:32:00 2018
@@ -19,7 +19,6 @@
 
 class MoveOnly
 {
-    friend class MoveOnly2;
     MoveOnly(const MoveOnly&);
     MoveOnly& operator=(const MoveOnly&);
 
@@ -35,6 +34,8 @@ public:
 
     bool operator==(const MoveOnly& x) const {return data_ == x.data_;}
     bool operator< (const MoveOnly& x) const {return data_ <  x.data_;}
+    MoveOnly operator+(const MoveOnly& x) const { return MoveOnly{data_ + x.data_}; }
+    MoveOnly operator*(const MoveOnly& x) const { return MoveOnly{data_ * x.data_}; }
 };
 
 namespace std {




More information about the cfe-commits mailing list