kblib 0.2.3
General utilities library for modern C++
kblib::indirect_range< Iter1, Iter2 > Struct Template Reference

Allow range-for iteration of an iterator pair. More...

#include <kblib/iterators.h>

Public Types

using value_type = decltype(*begin_)
 

Public Member Functions

constexpr auto begin () const noexcept -> Iter1
 
constexpr auto end () const noexcept -> Iter2
 
constexpr auto rbegin () const noexcept -> auto
 
constexpr auto rend () const noexcept -> auto
 

Public Attributes

Iter1 begin_
 
Iter2 end_
 

Friends

constexpr friend auto begin (const indirect_range &r) noexcept -> Iter1
 
constexpr friend auto end (const indirect_range &r) noexcept -> Iter2
 

Detailed Description

template<typename Iter1, typename Iter2>
struct kblib::indirect_range< Iter1, Iter2 >

Allow range-for iteration of an iterator pair.

Definition at line 1030 of file iterators.h.

Member Typedef Documentation

◆ value_type

template<typename Iter1 , typename Iter2 >
using kblib::indirect_range< Iter1, Iter2 >::value_type = decltype(*begin_)

Definition at line 1034 of file iterators.h.

Member Function Documentation

◆ begin()

template<typename Iter1 , typename Iter2 >
constexpr auto kblib::indirect_range< Iter1, Iter2 >::begin ( ) const -> Iter1
inlineconstexprnoexcept

Definition at line 1036 of file iterators.h.

◆ end()

template<typename Iter1 , typename Iter2 >
constexpr auto kblib::indirect_range< Iter1, Iter2 >::end ( ) const -> Iter2
inlineconstexprnoexcept

Definition at line 1037 of file iterators.h.

◆ rbegin()

template<typename Iter1 , typename Iter2 >
constexpr auto kblib::indirect_range< Iter1, Iter2 >::rbegin ( ) const -> auto
inlineconstexprnoexcept

Definition at line 1038 of file iterators.h.

◆ rend()

template<typename Iter1 , typename Iter2 >
constexpr auto kblib::indirect_range< Iter1, Iter2 >::rend ( ) const -> auto
inlineconstexprnoexcept

Definition at line 1041 of file iterators.h.

Friends And Related Function Documentation

◆ begin

template<typename Iter1 , typename Iter2 >
constexpr friend auto begin ( const indirect_range< Iter1, Iter2 > &  r) -> Iter1
friend

Definition at line 1045 of file iterators.h.

◆ end

template<typename Iter1 , typename Iter2 >
constexpr friend auto end ( const indirect_range< Iter1, Iter2 > &  r) -> Iter2
friend

Definition at line 1048 of file iterators.h.

Member Data Documentation

◆ begin_

template<typename Iter1 , typename Iter2 >
Iter1 kblib::indirect_range< Iter1, Iter2 >::begin_

Definition at line 1031 of file iterators.h.

◆ end_

template<typename Iter1 , typename Iter2 >
Iter2 kblib::indirect_range< Iter1, Iter2 >::end_

Definition at line 1032 of file iterators.h.


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