CkPttn 1.2.4
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
transrangers::detail::view::iterator_base< Iterator, Ranger > Class Template Reference

#include <transranger_view.hpp>

Public Types

using value_type = std::remove_cv_t< std::remove_reference_t< decltype(*std::declval< typename Ranger::cursor >())> >
 
using difference_type = std::ptrdiff_t
 

Public Member Functions

 iterator_base ()=default
 
 iterator_base (const Ranger &rgr)
 
 iterator_base (const iterator_base &)=default
 
iterator_baseoperator= (const iterator_base &x)
 
decltype(auto) operator* () const
 
Iterator & operator++ ()
 
Iterator operator++ (int)
 

Protected Attributes

ranges::semiregular_box< Ranger > rgr
 
bool end
 
Ranger::cursor p
 

Friends

bool operator== (const iterator_base &x, const sentinel &)
 
bool operator!= (const iterator_base &x, const sentinel &y)
 

Member Typedef Documentation

◆ difference_type

template<typename Iterator , typename Ranger >
using transrangers::detail::view::iterator_base< Iterator, Ranger >::difference_type = std::ptrdiff_t

◆ value_type

template<typename Iterator , typename Ranger >
using transrangers::detail::view::iterator_base< Iterator, Ranger >::value_type = std::remove_cv_t< std::remove_reference_t<decltype(*std::declval<typename Ranger::cursor>())> >

Constructor & Destructor Documentation

◆ iterator_base() [1/3]

template<typename Iterator , typename Ranger >
transrangers::detail::view::iterator_base< Iterator, Ranger >::iterator_base ( )
default

◆ iterator_base() [2/3]

template<typename Iterator , typename Ranger >
transrangers::detail::view::iterator_base< Iterator, Ranger >::iterator_base ( const Ranger &  rgr)
inline

◆ iterator_base() [3/3]

template<typename Iterator , typename Ranger >
transrangers::detail::view::iterator_base< Iterator, Ranger >::iterator_base ( const iterator_base< Iterator, Ranger > &  )
default

Member Function Documentation

◆ operator*()

template<typename Iterator , typename Ranger >
decltype(auto) transrangers::detail::view::iterator_base< Iterator, Ranger >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename Iterator , typename Ranger >
Iterator & transrangers::detail::view::iterator_base< Iterator, Ranger >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename Iterator , typename Ranger >
Iterator transrangers::detail::view::iterator_base< Iterator, Ranger >::operator++ ( int  )
inline

◆ operator=()

template<typename Iterator , typename Ranger >
iterator_base & transrangers::detail::view::iterator_base< Iterator, Ranger >::operator= ( const iterator_base< Iterator, Ranger > &  x)
inline

Friends And Related Symbol Documentation

◆ operator!=

template<typename Iterator , typename Ranger >
bool operator!= ( const iterator_base< Iterator, Ranger > &  x,
const sentinel y 
)
friend

◆ operator==

template<typename Iterator , typename Ranger >
bool operator== ( const iterator_base< Iterator, Ranger > &  x,
const sentinel  
)
friend

Member Data Documentation

◆ end

template<typename Iterator , typename Ranger >
bool transrangers::detail::view::iterator_base< Iterator, Ranger >::end
protected

◆ p

template<typename Iterator , typename Ranger >
Ranger::cursor transrangers::detail::view::iterator_base< Iterator, Ranger >::p
protected

◆ rgr

template<typename Iterator , typename Ranger >
ranges::semiregular_box<Ranger> transrangers::detail::view::iterator_base< Iterator, Ranger >::rgr
protected

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