OmniSciDB  85c2d10cdc
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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* () const
 
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

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
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
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

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 double_sort::Iterator< T0, T1 >::this_.

147 { return this_.v0_.ptr_ != b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
template<typename T0 , typename T1 >
DEVICE Value<T0, T1>& double_sort::Iterator< T0, T1 >::operator* ( ) const
inline

Definition at line 116 of file DoubleSort.h.

References double_sort::Iterator< T0, T1 >::this_.

116  {
117  return const_cast<Iterator<T0, T1>*>(this)->this_;
118  }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
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 i, and double_sort::Iterator< T0, T1 >::this_.

Referenced by double_sort::Iterator< T0, T1 >::operator[]().

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

+ Here is the caller graph for this function:

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

Definition at line 122 of file DoubleSort.h.

References double_sort::Iterator< T0, T1 >::this_.

122  {
123  ++this_.v0_.ptr_;
124  ++this_.v1_.ptr_;
125  return *this;
126  }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator+= ( int  i)
inline

Definition at line 128 of file DoubleSort.h.

References i, and double_sort::Iterator< T0, T1 >::this_.

128  {
129  this_.v0_.ptr_ += i;
130  this_.v1_.ptr_ += i;
131  return *this;
132  }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
template<typename T0 , typename T1 >
DEVICE auto double_sort::Iterator< T0, T1 >::operator- ( Iterator< T0, T1 > const b) const
inline

Definition at line 139 of file DoubleSort.h.

References double_sort::Iterator< T0, T1 >::this_.

139 { return this_.v0_.ptr_ - b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
template<typename T0 , typename T1 >
DEVICE Iterator double_sort::Iterator< T0, T1 >::operator- ( int  i) const
inline

Definition at line 143 of file DoubleSort.h.

References i, and double_sort::Iterator< T0, T1 >::this_.

143 { return {this_.v0_.ptr_ - i, this_.v1_.ptr_ - i}; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator-- ( )
inline

Definition at line 133 of file DoubleSort.h.

References double_sort::Iterator< T0, T1 >::this_.

133  {
134  --this_.v0_.ptr_;
135  --this_.v1_.ptr_;
136  return *this;
137  }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator< ( Iterator< T0, T1 > const b) const
inline

Definition at line 149 of file DoubleSort.h.

References double_sort::Iterator< T0, T1 >::this_.

149 { return this_.v0_.ptr_ < b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
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::Iterator< T0, T1 >::this_.

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
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::Iterator< T0, T1 >::this_.

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
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 double_sort::Iterator< T0, T1 >::this_.

145 { return this_.v0_.ptr_ == b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator> ( Iterator< T0, T1 > const b) const
inline

Definition at line 152 of file DoubleSort.h.

References double_sort::Iterator< T0, T1 >::this_.

152 { return this_.v0_.ptr_ > b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator>= ( Iterator< T0, T1 > const b) const
inline

Definition at line 155 of file DoubleSort.h.

References double_sort::Iterator< T0, T1 >::this_.

155 { return this_.v0_.ptr_ >= b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:101
template<typename T0 , typename T1 >
DEVICE Value<T0, T1> double_sort::Iterator< T0, T1 >::operator[] ( int  i) const
inline

Definition at line 121 of file DoubleSort.h.

References double_sort::Iterator< T0, T1 >::operator+(), and double_sort::Iterator< T0, T1 >::this_.

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

+ Here is the call graph for this function:

Member Data Documentation


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