OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Intervals< T, U >::Iterator Class Reference

#include <Intervals.h>

+ Collaboration diagram for Intervals< T, U >::Iterator:

Public Types

using iterator_category = std::input_iterator_tag
 
using value_type = Interval< T >
 
using difference_type = std::ptrdiff_t
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

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

Private Attributes

begin_
 
U const quot_
 
rem_
 
index {0}
 

Detailed Description

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

Definition at line 89 of file Intervals.h.

Member Typedef Documentation

template<typename T, typename U = typename std::make_unsigned<T>::type>
using Intervals< T, U >::Iterator::difference_type = std::ptrdiff_t

Definition at line 98 of file Intervals.h.

template<typename T, typename U = typename std::make_unsigned<T>::type>
using Intervals< T, U >::Iterator::iterator_category = std::input_iterator_tag

Definition at line 96 of file Intervals.h.

template<typename T, typename U = typename std::make_unsigned<T>::type>
using Intervals< T, U >::Iterator::pointer = value_type*

Definition at line 99 of file Intervals.h.

template<typename T, typename U = typename std::make_unsigned<T>::type>
using Intervals< T, U >::Iterator::reference = value_type&

Definition at line 100 of file Intervals.h.

template<typename T, typename U = typename std::make_unsigned<T>::type>
using Intervals< T, U >::Iterator::value_type = Interval<T>

Definition at line 97 of file Intervals.h.

Constructor & Destructor Documentation

template<typename T, typename U = typename std::make_unsigned<T>::type>
Intervals< T, U >::Iterator::Iterator ( begin,
quot,
rem 
)
inline

Definition at line 102 of file Intervals.h.

102 : begin_(begin), quot_(quot), rem_(rem) {}
Iterator begin() const
Definition: Intervals.h:115

Member Function Documentation

template<typename T, typename U = typename std::make_unsigned<T>::type>
bool Intervals< T, U >::Iterator::operator!= ( Iterator const &  rhs) const
inline

Definition at line 111 of file Intervals.h.

References Intervals< T, U >::Iterator::begin_.

111 { return begin_ != rhs.begin_; }
template<typename T, typename U = typename std::make_unsigned<T>::type>
Interval<T> Intervals< T, U >::Iterator::operator* ( ) const
inline
template<typename T, typename U = typename std::make_unsigned<T>::type>
void Intervals< T, U >::Iterator::operator++ ( void  )
inline
template<typename T, typename U = typename std::make_unsigned<T>::type>
bool Intervals< T, U >::Iterator::operator== ( Iterator const &  rhs) const
inline

Definition at line 110 of file Intervals.h.

References Intervals< T, U >::Iterator::begin_.

110 { return begin_ == rhs.begin_; }

Member Data Documentation

template<typename T, typename U = typename std::make_unsigned<T>::type>
T Intervals< T, U >::Iterator::begin_
private
template<typename T, typename U = typename std::make_unsigned<T>::type>
U Intervals< T, U >::Iterator::index {0}
private
template<typename T, typename U = typename std::make_unsigned<T>::type>
U const Intervals< T, U >::Iterator::quot_
private
template<typename T, typename U = typename std::make_unsigned<T>::type>
U Intervals< T, U >::Iterator::rem_
private

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