kblib 0.2.3
General utilities library for modern C++
kblib::enumerator_iterator< It > Class Template Reference

#include <kblib/iterators.h>

Public Types

using nested_value = copy_const_t< decltype(*std::declval< It & >()), typename std::iterator_traits< It >::value_type >
 
using value_type = enumeration< nested_value >
 
using difference_type = std::ptrdiff_t
 
using pointer = const value_type *
 
using reference = const value_type &
 
using iterator_category = std::input_iterator_tag
 

Public Member Functions

 enumerator_iterator ()=default
 
 enumerator_iterator (const enumerator_iterator &other)
 
 enumerator_iterator (It it)
 
 enumerator_iterator (enumerator_iterator &&)=default
 
auto operator= (const enumerator_iterator &) -> enumerator_iterator &=default
 
auto operator= (enumerator_iterator &&) -> enumerator_iterator &=default
 
 ~enumerator_iterator ()=default
 
auto operator* () &-> volatile value_type &
 
auto operator++ () &-> enumerator_iterator &
 

Friends

auto operator== (const enumerator_iterator &lhs, const enumerator_iterator &rhs) noexcept -> bool
 
auto operator!= (const enumerator_iterator &lhs, const enumerator_iterator &rhs) noexcept -> bool
 

Detailed Description

template<typename It>
class kblib::enumerator_iterator< It >

Definition at line 865 of file iterators.h.

Member Typedef Documentation

◆ difference_type

template<typename It >
using kblib::enumerator_iterator< It >::difference_type = std::ptrdiff_t

Definition at line 872 of file iterators.h.

◆ iterator_category

template<typename It >
using kblib::enumerator_iterator< It >::iterator_category = std::input_iterator_tag

Definition at line 875 of file iterators.h.

◆ nested_value

template<typename It >
using kblib::enumerator_iterator< It >::nested_value = copy_const_t<decltype(*std::declval<It&>()), typename std::iterator_traits<It>::value_type>

Definition at line 867 of file iterators.h.

◆ pointer

template<typename It >
using kblib::enumerator_iterator< It >::pointer = const value_type*

Definition at line 873 of file iterators.h.

◆ reference

template<typename It >
using kblib::enumerator_iterator< It >::reference = const value_type&

Definition at line 874 of file iterators.h.

◆ value_type

template<typename It >
using kblib::enumerator_iterator< It >::value_type = enumeration<nested_value>

Definition at line 871 of file iterators.h.

Constructor & Destructor Documentation

◆ enumerator_iterator() [1/4]

template<typename It >
kblib::enumerator_iterator< It >::enumerator_iterator ( )
default

◆ enumerator_iterator() [2/4]

template<typename It >
kblib::enumerator_iterator< It >::enumerator_iterator ( const enumerator_iterator< It > &  other)
inline

Definition at line 878 of file iterators.h.

◆ enumerator_iterator() [3/4]

template<typename It >
kblib::enumerator_iterator< It >::enumerator_iterator ( It  it)
inline

Definition at line 881 of file iterators.h.

◆ enumerator_iterator() [4/4]

template<typename It >
kblib::enumerator_iterator< It >::enumerator_iterator ( enumerator_iterator< It > &&  )
default

◆ ~enumerator_iterator()

template<typename It >
kblib::enumerator_iterator< It >::~enumerator_iterator ( )
default

Member Function Documentation

◆ operator*()

template<typename It >
auto kblib::enumerator_iterator< It >::operator* ( ) & -> volatile value_type&
inline

Definition at line 890 of file iterators.h.

◆ operator++()

template<typename It >
auto kblib::enumerator_iterator< It >::operator++ ( ) & -> enumerator_iterator&
inline

Definition at line 897 of file iterators.h.

◆ operator=() [1/2]

template<typename It >
auto kblib::enumerator_iterator< It >::operator= ( const enumerator_iterator< It > &  ) -> enumerator_iterator &=default
default

◆ operator=() [2/2]

template<typename It >
auto kblib::enumerator_iterator< It >::operator= ( enumerator_iterator< It > &&  ) -> enumerator_iterator &=default
default

Friends And Related Function Documentation

◆ operator!=

template<typename It >
auto operator!= ( const enumerator_iterator< It > &  lhs,
const enumerator_iterator< It > &  rhs 
) -> bool
friend

Definition at line 908 of file iterators.h.

◆ operator==

template<typename It >
auto operator== ( const enumerator_iterator< It > &  lhs,
const enumerator_iterator< It > &  rhs 
) -> bool
friend

Definition at line 904 of file iterators.h.


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