round_robin#

namespace round_robin_util#

Functions

template<class V, class It>
round_robin_t<V, It> make_round_robin(It begin, It end)#
template<class V, class T>
class it_wrap_t#

Public Types

typedef std::ptrdiff_t diff_t#
using difference_type = V#
typedef T iterator#
using iterator_category = std::random_access_iterator_tag#
using pointer = V*#
using reference = V&#
using value_type = V#

Public Functions

inline bool operator!=(const iterator &other) const#
inline reference operator*()#
inline const reference operator*() const#
inline iterator operator+(diff_t step)#
inline iterator operator++()#
inline iterator operator++(int)#
inline iterator operator+=(diff_t step)#
inline iterator operator-(diff_t step)#
inline diff_t operator-(iterator first)#
inline iterator operator--()#
inline iterator operator--(int)#
inline iterator operator-=(diff_t step)#
inline pointer operator->()#
inline const pointer operator->() const#
inline bool operator<(const iterator &other) const#
inline bool operator<=(const iterator &other) const#
inline bool operator==(const iterator &other) const#
inline bool operator>(const iterator &other) const#
inline bool operator>=(const iterator &other) const#

Private Functions

inline iterator &_this()#
inline const iterator &_this() const#
template<class V, class It>
class round_robin_t : public round_robin_util::it_wrap_t<V, round_robin_t<V, It>>#

Public Types

using iterator = It#
using pointer = V*#

Public Functions

inline void dec()#
inline bool eq(const round_robin_t &other) const#
inline pointer get() const#
inline void inc()#
inline round_robin_t(iterator begin, iterator end)#

Private Members

It _begin#
It _end#
It _pos#