kblib 0.2.3
General utilities library for modern C++
kblib::enumerate_t< Range, void > Struct Template Reference

#include <kblib/enumerate-contrib-tw.h>

Public Types

using range_t = typename std::remove_reference_t< Range >
 
using nested_iterator = decltype(r.begin())
 
using nested_end_iterator = decltype(r.end())
 
using iterator = enumerate_iterator< nested_iterator >
 
using end_iterator = enumerate_iterator< nested_end_iterator >
 
using nested_const_iterator = typename range_t::const_iterator
 
using const_iterator = enumerate_iterator< nested_const_iterator >
 

Public Member Functions

constexpr auto begin () const &noexcept(noexcept(r.cbegin())) -> const_iterator
 
constexpr auto begin () &noexcept(noexcept(r.begin())) -> iterator
 
constexpr auto end () const &noexcept(noexcept(r.cend())) -> const_iterator
 
constexpr auto end () &noexcept(noexcept(r.end())) -> end_iterator
 

Public Attributes

detail::no_dangle_t< Range > r
 

Detailed Description

template<typename Range>
struct kblib::enumerate_t< Range, void >
Author
Tobias Widlund, killerbee
Date
2018-2020

Definition at line 101 of file enumerate-contrib-tw.h.

Member Typedef Documentation

◆ const_iterator

template<typename Range >
using kblib::enumerate_t< Range, void >::const_iterator = enumerate_iterator<nested_const_iterator>

Definition at line 111 of file enumerate-contrib-tw.h.

◆ end_iterator

template<typename Range >
using kblib::enumerate_t< Range, void >::end_iterator = enumerate_iterator<nested_end_iterator>

Definition at line 108 of file enumerate-contrib-tw.h.

◆ iterator

template<typename Range >
using kblib::enumerate_t< Range, void >::iterator = enumerate_iterator<nested_iterator>

Definition at line 107 of file enumerate-contrib-tw.h.

◆ nested_const_iterator

template<typename Range >
using kblib::enumerate_t< Range, void >::nested_const_iterator = typename range_t::const_iterator

Definition at line 110 of file enumerate-contrib-tw.h.

◆ nested_end_iterator

template<typename Range >
using kblib::enumerate_t< Range, void >::nested_end_iterator = decltype(r.end())

Definition at line 106 of file enumerate-contrib-tw.h.

◆ nested_iterator

template<typename Range >
using kblib::enumerate_t< Range, void >::nested_iterator = decltype(r.begin())

Definition at line 105 of file enumerate-contrib-tw.h.

◆ range_t

template<typename Range >
using kblib::enumerate_t< Range, void >::range_t = typename std::remove_reference_t<Range>

Definition at line 104 of file enumerate-contrib-tw.h.

Member Function Documentation

◆ begin() [1/2]

template<typename Range >
constexpr auto kblib::enumerate_t< Range, void >::begin ( ) & -> iterator
inlineconstexprnoexcept

Definition at line 117 of file enumerate-contrib-tw.h.

◆ begin() [2/2]

template<typename Range >
constexpr auto kblib::enumerate_t< Range, void >::begin ( ) const & -> const_iterator
inlineconstexprnoexcept

Definition at line 113 of file enumerate-contrib-tw.h.

◆ end() [1/2]

template<typename Range >
constexpr auto kblib::enumerate_t< Range, void >::end ( ) & -> end_iterator
inlineconstexprnoexcept

Definition at line 124 of file enumerate-contrib-tw.h.

◆ end() [2/2]

template<typename Range >
constexpr auto kblib::enumerate_t< Range, void >::end ( ) const & -> const_iterator
inlineconstexprnoexcept

Definition at line 121 of file enumerate-contrib-tw.h.

Member Data Documentation

◆ r

template<typename Range >
detail::no_dangle_t<Range> kblib::enumerate_t< Range, void >::r

Definition at line 102 of file enumerate-contrib-tw.h.


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