OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
double_sort::Iterator< T0, T1 > Struct Template Reference

#include <DoubleSort.h>

Public Types

using iterator_category = std::input_iterator_tag
 
using value_type = Value< T0, T1 >
 
using difference_type = std::ptrdiff_t
 
using pointer = value_type *
 
using reference = value_type &
 

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.

Member Typedef Documentation

template<typename T0 , typename T1 >
using double_sort::Iterator< T0, T1 >::difference_type = std::ptrdiff_t

Definition at line 103 of file DoubleSort.h.

template<typename T0 , typename T1 >
using double_sort::Iterator< T0, T1 >::iterator_category = std::input_iterator_tag

Definition at line 101 of file DoubleSort.h.

template<typename T0 , typename T1 >
using double_sort::Iterator< T0, T1 >::pointer = value_type*

Definition at line 104 of file DoubleSort.h.

template<typename T0 , typename T1 >
using double_sort::Iterator< T0, T1 >::reference = value_type&

Definition at line 105 of file DoubleSort.h.

template<typename T0 , typename T1 >
using double_sort::Iterator< T0, T1 >::value_type = Value<T0, T1>

Definition at line 102 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 107 of file DoubleSort.h.

107 : this_(ptr0, ptr1) {}
Value< T0, T1 > this_
Definition: DoubleSort.h:106
template<typename T0 , typename T1 >
DEVICE double_sort::Iterator< T0, T1 >::Iterator ( Iterator< T0, T1 > const &  b)
inline

Definition at line 108 of file DoubleSort.h.

108 : this_(b.this_.v0_.ptr_, b.this_.v1_.ptr_) {}
Value< T0, T1 > this_
Definition: DoubleSort.h:106
template<typename T0 , typename T1 >
DEVICE double_sort::Iterator< T0, T1 >::Iterator ( Iterator< T0, T1 > &&  b)
inline

Definition at line 109 of file DoubleSort.h.

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

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 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:106
template<typename T0 , typename T1 >
DEVICE Value<T0, T1>& double_sort::Iterator< T0, T1 >::operator* ( ) const
inline

Definition at line 121 of file DoubleSort.h.

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

121  {
122  return const_cast<Iterator<T0, T1>*>(this)->this_;
123  }
Value< T0, T1 > this_
Definition: DoubleSort.h:106
template<typename T0 , typename T1 >
DEVICE Iterator double_sort::Iterator< T0, T1 >::operator+ ( int  i) const
inline

Definition at line 146 of file DoubleSort.h.

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

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

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

+ 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 127 of file DoubleSort.h.

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

127  {
128  ++this_.v0_.ptr_;
129  ++this_.v1_.ptr_;
130  return *this;
131  }
Value< T0, T1 > this_
Definition: DoubleSort.h:106
template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator+= ( int  i)
inline

Definition at line 133 of file DoubleSort.h.

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

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

Definition at line 144 of file DoubleSort.h.

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

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

Definition at line 148 of file DoubleSort.h.

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

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

Definition at line 138 of file DoubleSort.h.

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

138  {
139  --this_.v0_.ptr_;
140  --this_.v1_.ptr_;
141  return *this;
142  }
Value< T0, T1 > this_
Definition: DoubleSort.h:106
template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator< ( Iterator< T0, T1 > const &  b) const
inline

Definition at line 154 of file DoubleSort.h.

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

154 { return this_.v0_.ptr_ < b.this_.v0_.ptr_; }
Value< T0, T1 > this_
Definition: DoubleSort.h:106
template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator= ( Iterator< T0, T1 > const &  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:106
template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator= ( Iterator< T0, T1 > &&  b)
inline

Definition at line 115 of file DoubleSort.h.

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

115  {
116  this_.v0_.ptr_ = b.this_.v0_.ptr_;
117  this_.v1_.ptr_ = b.this_.v1_.ptr_;
118  return *this;
119  }
Value< T0, T1 > this_
Definition: DoubleSort.h:106
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 double_sort::Iterator< T0, T1 >::this_.

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

Definition at line 157 of file DoubleSort.h.

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

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

Definition at line 160 of file DoubleSort.h.

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

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

Definition at line 126 of file DoubleSort.h.

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

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

+ Here is the call graph for this function:

Member Data Documentation


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