37 namespace double_sort {
47 template <
typename T0,
typename T1>
57 v0_.
value_ = b.ref_ ? *b.v0_.ptr_ : b.v0_.value_;
58 v1_.
value_ = b.ref_ ? *b.v1_.ptr_ : b.v1_.value_;
63 *
v0_.
ptr_ = b.ref_ ? *b.v0_.ptr_ : b.v0_.value_;
64 *
v1_.
ptr_ = b.ref_ ? *b.v1_.ptr_ : b.v1_.value_;
66 v0_.
value_ = b.ref_ ? *b.v0_.ptr_ : b.v0_.value_;
67 v1_.
value_ = b.ref_ ? *b.v1_.ptr_ : b.v1_.value_;
73 v0_.
value_ = b.ref_ ? std::move(*b.v0_.ptr_) : std::move(b.v0_.value_);
74 v1_.
value_ = b.ref_ ? std::move(*b.v1_.ptr_) : std::move(b.v1_.value_);
78 *
v0_.
ptr_ = b.ref_ ? std::move(*b.v0_.ptr_) : std::move(b.v0_.value_);
79 *
v1_.
ptr_ = b.ref_ ? std::move(*b.v1_.ptr_) : std::move(b.v1_.value_);
81 v0_.
value_ = b.ref_ ? std::move(*b.v0_.ptr_) : std::move(b.v0_.value_);
82 v1_.
value_ = b.ref_ ? std::move(*b.v1_.ptr_) : std::move(b.v1_.value_);
96 template <
typename T0,
typename T1>
97 std::ostream& operator<<(std::ostream& out, Value<T0, T1>
const& ds) {
98 return out <<
"ref_(" << ds.ref_ <<
") v0_.value_(" << ds.v0_.value_ <<
") v1_.value_("
99 << ds.v1_.value_ <<
')' << std::endl;
103 template <
typename T0,
typename T1>
120 this_.v0_.ptr_ = b.this_.v0_.ptr_;
121 this_.v1_.ptr_ = b.this_.v1_.ptr_;
DEVICE bool operator==(Iterator const &b) const
DEVICE Value< T0, T1 > & operator*() const
DEVICE bool operator>=(Iterator const &b) const
DEVICE auto operator-(Iterator const &b) const
DEVICE Iterator(Iterator const &b)
DEVICE Iterator & operator+=(int i)
DEVICE bool operator!=(Iterator const &b) const
DEVICE Iterator(Iterator &&b)
DEVICE Iterator & operator--()
Value & operator=(Value &&b)
DEVICE Value< T0, T1 > operator[](int i) const
DEVICE Iterator & operator=(Iterator &&b)
std::ptrdiff_t difference_type
DEVICE Iterator(T0 *ptr0, T1 *ptr1)
DEVICE bool operator<(Iterator const &b) const
DEVICE Iterator operator+(int i) const
bool g_enable_watchdog false
DEVICE bool operator>(Iterator const &b) const
DEVICE Value(T0 *ptr0, T1 *ptr1)
DEVICE Iterator operator-(int i) const
std::input_iterator_tag iterator_category
DEVICE Iterator & operator=(Iterator const &b)
DEVICE Iterator & operator++()