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#