From 4dd943ec8e1a248cd94b11e918c8c3018c71d3ae Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Fri, 5 Jan 2018 01:32:00 +0000 Subject: [PATCH] Move + and * operators of MoveOnly into MoveOnly.h. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@321852 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../transform_reduce_iter_iter_iter_init.pass.cpp | 10 ---------- test/support/MoveOnly.h | 3 ++- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp b/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp index b2c2d7145..a79b4e98f 100644 --- a/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp +++ b/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp @@ -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}}; diff --git a/test/support/MoveOnly.h b/test/support/MoveOnly.h index 4afa8aef7..2eba8e742 100644 --- a/test/support/MoveOnly.h +++ b/test/support/MoveOnly.h @@ -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 {