OmniSciDB  e4d26eaa36
double_sort::Iterator< T0, T1 > Struct Template Reference

#include <DoubleSort.h>

+ Inheritance diagram for double_sort::Iterator< T0, T1 >:
+ Collaboration diagram for double_sort::Iterator< T0, T1 >:

Public Member Functions

DEVICE Iterator (T0 *ptr0, T1 *ptr1)
 
DEVICE Iterator (Iterator const &b)
 
DEVICE Iterator (Iterator &&b)
 
DEVICE Iteratoroperator= (Iterator const &b)
 
DEVICE Iteratoroperator= (Iterator &&b)
 
DEVICE Value< T0, T1 > & operator* ()
 
DEVICE Value< T0, T1 > operator[] (int i) const
 
DEVICE Iteratoroperator++ ()
 
DEVICE Iteratoroperator+= (int i)
 
DEVICE Iteratoroperator-- ()
 
DEVICE auto operator- (Iterator const &b) const
 
DEVICE Iterator operator+ (int i) const
 
DEVICE Iterator operator- (int i) const
 
DEVICE bool operator== (Iterator const &b) const
 
DEVICE bool operator!= (Iterator const &b) const
 
DEVICE bool operator< (Iterator const &b) const
 
DEVICE bool operator> (Iterator const &b) const
 
DEVICE bool operator>= (Iterator const &b) const
 

Public Attributes

Value< T0, T1 > this_
 

Detailed Description

template<typename T0, typename T1>
struct double_sort::Iterator< T0, T1 >

Definition at line 100 of file DoubleSort.h.

Constructor & Destructor Documentation

◆ Iterator() [1/3]

template<typename T0 , typename T1 >
DEVICE double_sort::Iterator< T0, T1 >::Iterator ( T0 *  ptr0,
T1 *  ptr1 
)
inline

Definition at line 102 of file DoubleSort.h.

102 : this_(ptr0, ptr1) {}
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ Iterator() [2/3]

template<typename T0 , typename T1 >
DEVICE double_sort::Iterator< T0, T1 >::Iterator ( Iterator< T0, T1 > const &  b)
inline

Definition at line 103 of file DoubleSort.h.

103 : this_(b.this_.v0_.ptr_, b.this_.v1_.ptr_) {}
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ Iterator() [3/3]

template<typename T0 , typename T1 >
DEVICE double_sort::Iterator< T0, T1 >::Iterator ( Iterator< T0, T1 > &&  b)
inline

Definition at line 104 of file DoubleSort.h.

104 : this_(b.this_.v0_.ptr_, b.this_.v1_.ptr_) {}
Value< T0, T1 > this_
Definition: DoubleSort.h:101

Member Function Documentation

◆ operator!=()

template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator!= ( Iterator< T0, T1 > const &  b) const
inline

Definition at line 145 of file DoubleSort.h.

References DEVICE, double_sort::Variant< T >::ptr_, double_sort::Iterator< T0, T1 >::this_, and double_sort::Value< T0, T1 >::v0_.

145 { return this_.v0_.ptr_ != b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator*()

template<typename T0 , typename T1 >
DEVICE Value<T0, T1>& double_sort::Iterator< T0, T1 >::operator* ( )
inline

Definition at line 116 of file DoubleSort.h.

116 { return this_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator+()

template<typename T0 , typename T1 >
DEVICE Iterator double_sort::Iterator< T0, T1 >::operator+ ( int  i) const
inline

Definition at line 139 of file DoubleSort.h.

References DEVICE, double_sort::Variant< T >::ptr_, double_sort::Value< T0, T1 >::v0_, and double_sort::Value< T0, T1 >::v1_.

139 { return {this_.v0_.ptr_ + i, this_.v1_.ptr_ + i}; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator++()

template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator++ ( void  )
inline

Definition at line 120 of file DoubleSort.h.

References double_sort::Variant< T >::ptr_, double_sort::Value< T0, T1 >::v0_, and double_sort::Value< T0, T1 >::v1_.

120  {
121  ++this_.v0_.ptr_;
122  ++this_.v1_.ptr_;
123  return *this;
124  }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator+=()

template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator+= ( int  i)
inline

Definition at line 126 of file DoubleSort.h.

References double_sort::Variant< T >::ptr_, double_sort::Value< T0, T1 >::v0_, and double_sort::Value< T0, T1 >::v1_.

126  {
127  this_.v0_.ptr_ += i;
128  this_.v1_.ptr_ += i;
129  return *this;
130  }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator-() [1/2]

template<typename T0 , typename T1 >
DEVICE auto double_sort::Iterator< T0, T1 >::operator- ( Iterator< T0, T1 > const &  b) const
inline

Definition at line 137 of file DoubleSort.h.

References DEVICE, double_sort::Variant< T >::ptr_, double_sort::Iterator< T0, T1 >::this_, and double_sort::Value< T0, T1 >::v0_.

137 { return this_.v0_.ptr_ - b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator-() [2/2]

template<typename T0 , typename T1 >
DEVICE Iterator double_sort::Iterator< T0, T1 >::operator- ( int  i) const
inline

Definition at line 141 of file DoubleSort.h.

References DEVICE, double_sort::Variant< T >::ptr_, double_sort::Value< T0, T1 >::v0_, and double_sort::Value< T0, T1 >::v1_.

141 { return {this_.v0_.ptr_ - i, this_.v1_.ptr_ - i}; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator--()

template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator-- ( )
inline

Definition at line 131 of file DoubleSort.h.

References DEVICE, double_sort::Variant< T >::ptr_, double_sort::Value< T0, T1 >::v0_, and double_sort::Value< T0, T1 >::v1_.

131  {
132  --this_.v0_.ptr_;
133  --this_.v1_.ptr_;
134  return *this;
135  }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator<()

template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator< ( Iterator< T0, T1 > const &  b) const
inline

Definition at line 147 of file DoubleSort.h.

References DEVICE, double_sort::Variant< T >::ptr_, double_sort::Iterator< T0, T1 >::this_, and double_sort::Value< T0, T1 >::v0_.

147 { return this_.v0_.ptr_ < b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator=() [1/2]

template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator= ( Iterator< T0, T1 > const &  b)
inline

Definition at line 105 of file DoubleSort.h.

References double_sort::Variant< T >::ptr_, double_sort::Iterator< T0, T1 >::this_, double_sort::Value< T0, T1 >::v0_, and double_sort::Value< T0, T1 >::v1_.

105  {
106  this_.v0_.ptr_ = b.this_.v0_.ptr_;
107  this_.v1_.ptr_ = b.this_.v1_.ptr_;
108  return *this;
109  }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator=() [2/2]

template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator= ( Iterator< T0, T1 > &&  b)
inline

Definition at line 110 of file DoubleSort.h.

References double_sort::Variant< T >::ptr_, double_sort::Value< T0, T1 >::v0_, and double_sort::Value< T0, T1 >::v1_.

110  {
111  this_.v0_.ptr_ = b.this_.v0_.ptr_;
112  this_.v1_.ptr_ = b.this_.v1_.ptr_;
113  return *this;
114  }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator==()

template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator== ( Iterator< T0, T1 > const &  b) const
inline

Definition at line 143 of file DoubleSort.h.

References DEVICE, double_sort::Variant< T >::ptr_, double_sort::Iterator< T0, T1 >::this_, and double_sort::Value< T0, T1 >::v0_.

143 { return this_.v0_.ptr_ == b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator>()

template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator> ( Iterator< T0, T1 > const &  b) const
inline

Definition at line 150 of file DoubleSort.h.

References DEVICE, double_sort::Variant< T >::ptr_, double_sort::Iterator< T0, T1 >::this_, and double_sort::Value< T0, T1 >::v0_.

150 { return this_.v0_.ptr_ > b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator>=()

template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator>= ( Iterator< T0, T1 > const &  b) const
inline

Definition at line 153 of file DoubleSort.h.

References double_sort::Variant< T >::ptr_, double_sort::Iterator< T0, T1 >::this_, and double_sort::Value< T0, T1 >::v0_.

153 { return this_.v0_.ptr_ >= b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101

◆ operator[]()

template<typename T0 , typename T1 >
DEVICE Value<T0, T1> double_sort::Iterator< T0, T1 >::operator[] ( int  i) const
inline

Definition at line 119 of file DoubleSort.h.

119 { return operator+(i).this_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
DEVICE Iterator operator+(int i) const
Definition: DoubleSort.h:139

Member Data Documentation

◆ this_


The documentation for this struct was generated from the following file: