Class Intervals

template<typename T, typename U = typename std::make_unsigned<T>::type>
class Intervals

Public Functions

bool empty() const
Iterator begin() const
Iterator end() const

Private Functions

Intervals(T begin, T end, U n_workers)

Private Members

T const begin_
U const total_size_
U const quot_
U const rem_

Friends

template<typename T1, typename U1>
Intervals<T1> makeIntervals(T1 begin, T1 end, std::size_t n_workers)
class Iterator : public std::iterator<std::input_iterator_tag, Interval<T>>

Public Functions

template<>
Iterator(T begin, U quot, U rem)
template<>
Interval<T> operator*() const
template<>
void operator++()
template<>
bool operator==(Iterator const &rhs) const
template<>
bool operator!=(Iterator const &rhs) const

Private Members

template<>
T begin_
template<>
U const quot_
template<>
U rem_
template<>
U index = {0}