OmniSciDB  471d68cefb
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Intervals.h File Reference
#include <iterator>
#include <limits>
#include <type_traits>
+ Include dependency graph for Intervals.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Interval< T, U >
 
class  Intervals< T, U >
 
class  Intervals< T, U >::Iterator
 

Functions

template<typename T , typename U = typename std::make_unsigned<T>::type>
Intervals< T > makeIntervals (T begin, T end, std::size_t n_workers)
 

Function Documentation

template<typename T , typename U = typename std::make_unsigned<T>::type>
Intervals<T> makeIntervals ( begin,
end,
std::size_t  n_workers 
)

Definition at line 116 of file Intervals.h.

References Intervals< T, U >::begin(), and Intervals< T, U >::end().

Referenced by ColumnFetcher::linearizeVarLenArrayColFrags(), ColumnarResults::materializeAllColumnsThroughIteration(), and ColumnarResults::materializeAllLazyColumns().

116  {
117  if constexpr (sizeof(U) < sizeof(std::size_t)) { // NOLINT
118  if (std::numeric_limits<U>::max() < n_workers) {
119  n_workers = std::numeric_limits<U>::max();
120  }
121  }
122  return {begin, end, static_cast<U>(n_workers)};
123 }

+ Here is the call graph for this function:

+ Here is the caller graph for this function: