OmniSciDB  a5dc49c757
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JoinColumnTupleIterator Struct Reference

Iterates over the rows of a JoinColumnTuple across multiple fragments/chunks. More...

#include <JoinColumnIterator.h>

+ Collaboration diagram for JoinColumnTupleIterator:

Public Member Functions

DEVICE JoinColumnTupleIterator ()
 
DEVICE JoinColumnTupleIterator (size_t num_cols, const JoinColumn *join_column_per_key, const JoinColumnTypeInfo *type_info_per_key, size_t start, size_t step)
 
DEVICE FORCE_INLINE operator bool () const
 
DEVICE FORCE_INLINE
JoinColumnTupleIterator
operator++ ()
 
DEVICE FORCE_INLINE
JoinColumnTupleIterator
operator* ()
 

Public Attributes

size_t num_cols
 
JoinColumnIterator join_column_iterators [g_maximum_conditions_to_coalesce]
 

Detailed Description

Iterates over the rows of a JoinColumnTuple across multiple fragments/chunks.

Definition at line 163 of file JoinColumnIterator.h.

Constructor & Destructor Documentation

DEVICE JoinColumnTupleIterator::JoinColumnTupleIterator ( )
inline

Definition at line 175 of file JoinColumnIterator.h.

DEVICE JoinColumnTupleIterator::JoinColumnTupleIterator ( size_t  num_cols,
const JoinColumn join_column_per_key,
const JoinColumnTypeInfo type_info_per_key,
size_t  start,
size_t  step 
)
inline

Definition at line 177 of file JoinColumnIterator.h.

References join_column_iterators, and num_cols.

182  : num_cols(num_cols) {
183  for (size_t i = 0; i < num_cols; ++i) {
185  JoinColumnIterator(&join_column_per_key[i],
186  type_info_per_key ? &type_info_per_key[i] : nullptr,
187  start,
188  step);
189  }
190  }
JoinColumnIterator join_column_iterators[g_maximum_conditions_to_coalesce]
Iterates over the rows of a JoinColumn across multiple fragments/chunks.

Member Function Documentation

DEVICE FORCE_INLINE JoinColumnTupleIterator::operator bool ( ) const
inline

Definition at line 192 of file JoinColumnIterator.h.

References join_column_iterators, and num_cols.

192  {
193  for (size_t i = 0; i < num_cols; ++i) {
194  if (join_column_iterators[i]) {
195  return true;
196  // If any column iterator is still valid, then the tuple is still valid.
197  }
198  }
199  return false;
200  }
JoinColumnIterator join_column_iterators[g_maximum_conditions_to_coalesce]
DEVICE FORCE_INLINE JoinColumnTupleIterator& JoinColumnTupleIterator::operator* ( )
inline

Definition at line 209 of file JoinColumnIterator.h.

209 { return *this; }
DEVICE FORCE_INLINE JoinColumnTupleIterator& JoinColumnTupleIterator::operator++ ( void  )
inline

Definition at line 202 of file JoinColumnIterator.h.

References join_column_iterators, and num_cols.

202  {
203  for (size_t i = 0; i < num_cols; ++i) {
205  }
206  return *this;
207  }
JoinColumnIterator join_column_iterators[g_maximum_conditions_to_coalesce]

Member Data Documentation

JoinColumnIterator JoinColumnTupleIterator::join_column_iterators[g_maximum_conditions_to_coalesce]

Definition at line 168 of file JoinColumnIterator.h.

Referenced by JoinColumnTupleIterator(), operator bool(), and operator++().

size_t JoinColumnTupleIterator::num_cols

Definition at line 167 of file JoinColumnIterator.h.

Referenced by JoinColumnTupleIterator(), operator bool(), and operator++().


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