OmniSciDB  a5dc49c757
 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 104 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 107 of file DoubleSort.h.

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

Definition at line 105 of file DoubleSort.h.

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

Definition at line 108 of file DoubleSort.h.

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

Definition at line 109 of file DoubleSort.h.

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

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

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

Definition at line 112 of file DoubleSort.h.

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

Definition at line 113 of file DoubleSort.h.

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

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

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

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

Definition at line 125 of file DoubleSort.h.

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

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

Definition at line 150 of file DoubleSort.h.

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

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

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

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

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

131  {
132  ++this_.v0_.ptr_;
133  ++this_.v1_.ptr_;
134  return *this;
135  }
Value< T0, T1 > this_
Definition: DoubleSort.h:110
template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator+= ( int  i)
inline

Definition at line 137 of file DoubleSort.h.

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

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

Definition at line 148 of file DoubleSort.h.

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

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

Definition at line 152 of file DoubleSort.h.

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

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

Definition at line 142 of file DoubleSort.h.

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

142  {
143  --this_.v0_.ptr_;
144  --this_.v1_.ptr_;
145  return *this;
146  }
Value< T0, T1 > this_
Definition: DoubleSort.h:110
template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator< ( Iterator< T0, T1 > const &  b) const
inline

Definition at line 158 of file DoubleSort.h.

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

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

Definition at line 114 of file DoubleSort.h.

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

114  {
115  this_.v0_.ptr_ = b.this_.v0_.ptr_;
116  this_.v1_.ptr_ = b.this_.v1_.ptr_;
117  return *this;
118  }
Value< T0, T1 > this_
Definition: DoubleSort.h:110
template<typename T0 , typename T1 >
DEVICE Iterator& double_sort::Iterator< T0, T1 >::operator= ( Iterator< T0, T1 > &&  b)
inline

Definition at line 119 of file DoubleSort.h.

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

119  {
120  this_.v0_.ptr_ = b.this_.v0_.ptr_;
121  this_.v1_.ptr_ = b.this_.v1_.ptr_;
122  return *this;
123  }
Value< T0, T1 > this_
Definition: DoubleSort.h:110
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:110
template<typename T0 , typename T1 >
DEVICE bool double_sort::Iterator< T0, T1 >::operator> ( Iterator< T0, T1 > const &  b) const
inline

Definition at line 161 of file DoubleSort.h.

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

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

Definition at line 164 of file DoubleSort.h.

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

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

Definition at line 130 of file DoubleSort.h.

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

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

+ Here is the call graph for this function:

Member Data Documentation


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