rah
Public Member Functions | Public Attributes | List of all members
rah::view::transform_iterator< R, F > Struct Template Reference

#include <rah - Copie.hpp>

Inheritance diagram for rah::view::transform_iterator< R, F >:
rah::iterator_facade< transform_iterator< R, F >, decltype(fake< F >()(fake< range_ref_type_t< R >>())), range_iter_categ_t< R > > rah::iterator_facade< transform_iterator< R, F >, decltype(fake< F >()(fake< range_ref_type_t< R >>())), range_iter_categ_t< R > >

Public Member Functions

 transform_iterator (range_begin_type_t< R > const &iter, F const &func)
 
transform_iteratoroperator= (transform_iterator const &ot)
 
void increment ()
 
void advance (intptr_t off)
 
void decrement ()
 
auto distance_to (transform_iterator r) const
 
auto dereference () const -> decltype((*func_)(*iter_))
 
bool equal (transform_iterator r) const
 
 transform_iterator (range_begin_type_t< R > const &iter, F const &func)
 
transform_iteratoroperator= (transform_iterator const &ot)
 
void increment ()
 
void advance (intptr_t off)
 
void decrement ()
 
auto distance_to (transform_iterator r) const
 
auto dereference () const -> decltype((*func_)(*iter_))
 
bool equal (transform_iterator r) const
 

Public Attributes

range_begin_type_t< R > iter_
 
details::optional< F > func_
 
rah ::details::optional< F > func_
 

Constructor & Destructor Documentation

◆ transform_iterator() [1/2]

template<typename R, typename F>
rah::view::transform_iterator< R, F >::transform_iterator ( range_begin_type_t< R > const &  iter,
F const &  func 
)
inline

◆ transform_iterator() [2/2]

template<typename R, typename F>
rah::view::transform_iterator< R, F >::transform_iterator ( range_begin_type_t< R > const &  iter,
F const &  func 
)
inline

Member Function Documentation

◆ advance() [1/2]

template<typename R, typename F>
void rah::view::transform_iterator< R, F >::advance ( intptr_t  off)
inline

◆ advance() [2/2]

template<typename R, typename F>
void rah::view::transform_iterator< R, F >::advance ( intptr_t  off)
inline

◆ decrement() [1/2]

template<typename R, typename F>
void rah::view::transform_iterator< R, F >::decrement ( )
inline

◆ decrement() [2/2]

template<typename R, typename F>
void rah::view::transform_iterator< R, F >::decrement ( )
inline

◆ dereference() [1/2]

template<typename R, typename F>
auto rah::view::transform_iterator< R, F >::dereference ( ) const -> decltype((*func_)(*iter_))
inline

◆ dereference() [2/2]

template<typename R, typename F>
auto rah::view::transform_iterator< R, F >::dereference ( ) const -> decltype((*func_)(*iter_))
inline

◆ distance_to() [1/2]

template<typename R, typename F>
auto rah::view::transform_iterator< R, F >::distance_to ( transform_iterator< R, F >  r) const
inline

◆ distance_to() [2/2]

template<typename R, typename F>
auto rah::view::transform_iterator< R, F >::distance_to ( transform_iterator< R, F >  r) const
inline

◆ equal() [1/2]

template<typename R, typename F>
bool rah::view::transform_iterator< R, F >::equal ( transform_iterator< R, F >  r) const
inline

◆ equal() [2/2]

template<typename R, typename F>
bool rah::view::transform_iterator< R, F >::equal ( transform_iterator< R, F >  r) const
inline

◆ increment() [1/2]

template<typename R, typename F>
void rah::view::transform_iterator< R, F >::increment ( )
inline

◆ increment() [2/2]

template<typename R, typename F>
void rah::view::transform_iterator< R, F >::increment ( )
inline

◆ operator=() [1/2]

template<typename R, typename F>
transform_iterator& rah::view::transform_iterator< R, F >::operator= ( transform_iterator< R, F > const &  ot)
inline

◆ operator=() [2/2]

template<typename R, typename F>
transform_iterator& rah::view::transform_iterator< R, F >::operator= ( transform_iterator< R, F > const &  ot)
inline

Member Data Documentation

◆ func_ [1/2]

template<typename R, typename F>
details::optional<F> rah::view::transform_iterator< R, F >::func_

◆ func_ [2/2]

template<typename R, typename F>
rah ::details::optional<F> rah::view::transform_iterator< R, F >::func_

◆ iter_

template<typename R, typename F>
range_begin_type_t< R > rah::view::transform_iterator< R, F >::iter_

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