Lines Matching refs:MoveOnly
17 class MoveOnly
21 TEST_CONSTEXPR MoveOnly(int data = 1) : data_(data) {} in data_()
23 MoveOnly(const MoveOnly&) = delete;
24 MoveOnly& operator=(const MoveOnly&) = delete;
26 TEST_CONSTEXPR_CXX14 MoveOnly(MoveOnly&& x) in MoveOnly() function
28 TEST_CONSTEXPR_CXX14 MoveOnly& operator=(MoveOnly&& x)
33 friend TEST_CONSTEXPR bool operator==(const MoveOnly& x, const MoveOnly& y)
35 friend TEST_CONSTEXPR bool operator!=(const MoveOnly& x, const MoveOnly& y)
37 friend TEST_CONSTEXPR bool operator< (const MoveOnly& x, const MoveOnly& y)
39 friend TEST_CONSTEXPR bool operator<=(const MoveOnly& x, const MoveOnly& y)
41 friend TEST_CONSTEXPR bool operator> (const MoveOnly& x, const MoveOnly& y)
43 friend TEST_CONSTEXPR bool operator>=(const MoveOnly& x, const MoveOnly& y)
47 friend constexpr auto operator<=>(const MoveOnly&, const MoveOnly&) = default;
50 TEST_CONSTEXPR_CXX14 MoveOnly operator+(const MoveOnly& x) const
51 { return MoveOnly(data_ + x.data_); }
52 TEST_CONSTEXPR_CXX14 MoveOnly operator*(const MoveOnly& x) const
53 { return MoveOnly(data_ * x.data_); }
61 struct std::hash<MoveOnly>
63 typedef MoveOnly argument_type;
65 TEST_CONSTEXPR size_t operator()(const MoveOnly& x) const {return x.get();}