openMSX
Public Types | Public Member Functions | Friends | List of all members
view::detail::TransformIterator< Iterator, UnaryOp > Class Template Reference

#include <view.hh>

Public Types

using return_type = decltype(std::declval< UnaryOp >()(*std::declval< Iterator >()))
 
using value_type = std::remove_reference_t< return_type >
 
using reference = value_type
 
using pointer = value_type *
 
using difference_type = typename std::iterator_traits< Iterator >::difference_type
 
using iterator_category = typename std::iterator_traits< Iterator >::iterator_category
 

Public Member Functions

 TransformIterator ()=default
 
 TransformIterator (Iterator it_, UnaryOp op_)
 
return_type operator* () const
 
TransformIteratoroperator++ ()
 
TransformIterator operator++ (int)
 
TransformIteratoroperator-- ()
 
TransformIterator operator-- (int)
 
TransformIteratoroperator+= (difference_type n)
 
TransformIteratoroperator-= (difference_type n)
 
reference operator[] (difference_type n)
 

Friends

bool operator== (const TransformIterator &x, const TransformIterator &y)
 
bool operator!= (const TransformIterator &x, const TransformIterator &y)
 
TransformIterator operator+ (TransformIterator x, difference_type n)
 
TransformIterator operator+ (difference_type n, TransformIterator x)
 
TransformIterator operator- (TransformIterator x, difference_type n)
 
difference_type operator- (const TransformIterator &x, const TransformIterator &y)
 
bool operator< (const TransformIterator &x, const TransformIterator &y)
 
bool operator<= (const TransformIterator &x, const TransformIterator &y)
 
bool operator> (const TransformIterator &x, const TransformIterator &y)
 
bool operator>= (const TransformIterator &x, const TransformIterator &y)
 

Detailed Description

template<typename Iterator, typename UnaryOp>
class view::detail::TransformIterator< Iterator, UnaryOp >

Definition at line 115 of file view.hh.

Member Typedef Documentation

◆ difference_type

template<typename Iterator , typename UnaryOp >
using view::detail::TransformIterator< Iterator, UnaryOp >::difference_type = typename std::iterator_traits<Iterator>::difference_type

Definition at line 122 of file view.hh.

◆ iterator_category

template<typename Iterator , typename UnaryOp >
using view::detail::TransformIterator< Iterator, UnaryOp >::iterator_category = typename std::iterator_traits<Iterator>::iterator_category

Definition at line 123 of file view.hh.

◆ pointer

template<typename Iterator , typename UnaryOp >
using view::detail::TransformIterator< Iterator, UnaryOp >::pointer = value_type*

Definition at line 121 of file view.hh.

◆ reference

template<typename Iterator , typename UnaryOp >
using view::detail::TransformIterator< Iterator, UnaryOp >::reference = value_type

Definition at line 120 of file view.hh.

◆ return_type

template<typename Iterator , typename UnaryOp >
using view::detail::TransformIterator< Iterator, UnaryOp >::return_type = decltype(std::declval<UnaryOp>()(*std::declval<Iterator>()))

Definition at line 118 of file view.hh.

◆ value_type

template<typename Iterator , typename UnaryOp >
using view::detail::TransformIterator< Iterator, UnaryOp >::value_type = std::remove_reference_t<return_type>

Definition at line 119 of file view.hh.

Constructor & Destructor Documentation

◆ TransformIterator() [1/2]

template<typename Iterator , typename UnaryOp >
view::detail::TransformIterator< Iterator, UnaryOp >::TransformIterator ( )
default

◆ TransformIterator() [2/2]

template<typename Iterator , typename UnaryOp >
view::detail::TransformIterator< Iterator, UnaryOp >::TransformIterator ( Iterator  it_,
UnaryOp  op_ 
)
inline

Definition at line 128 of file view.hh.

Member Function Documentation

◆ operator*()

template<typename Iterator , typename UnaryOp >
return_type view::detail::TransformIterator< Iterator, UnaryOp >::operator* ( ) const
inline

Definition at line 135 of file view.hh.

◆ operator++() [1/2]

template<typename Iterator , typename UnaryOp >
TransformIterator& view::detail::TransformIterator< Iterator, UnaryOp >::operator++ ( )
inline

Definition at line 139 of file view.hh.

◆ operator++() [2/2]

template<typename Iterator , typename UnaryOp >
TransformIterator view::detail::TransformIterator< Iterator, UnaryOp >::operator++ ( int  )
inline

Definition at line 145 of file view.hh.

References ranges::copy().

◆ operator+=()

template<typename Iterator , typename UnaryOp >
TransformIterator& view::detail::TransformIterator< Iterator, UnaryOp >::operator+= ( difference_type  n)
inline

Definition at line 179 of file view.hh.

◆ operator--() [1/2]

template<typename Iterator , typename UnaryOp >
TransformIterator& view::detail::TransformIterator< Iterator, UnaryOp >::operator-- ( )
inline

Definition at line 164 of file view.hh.

◆ operator--() [2/2]

template<typename Iterator , typename UnaryOp >
TransformIterator view::detail::TransformIterator< Iterator, UnaryOp >::operator-- ( int  )
inline

Definition at line 170 of file view.hh.

References ranges::copy().

◆ operator-=()

template<typename Iterator , typename UnaryOp >
TransformIterator& view::detail::TransformIterator< Iterator, UnaryOp >::operator-= ( difference_type  n)
inline

Definition at line 185 of file view.hh.

◆ operator[]()

template<typename Iterator , typename UnaryOp >
reference view::detail::TransformIterator< Iterator, UnaryOp >::operator[] ( difference_type  n)
inline

Definition at line 213 of file view.hh.

Friends And Related Function Documentation

◆ operator!=

template<typename Iterator , typename UnaryOp >
bool operator!= ( const TransformIterator< Iterator, UnaryOp > &  x,
const TransformIterator< Iterator, UnaryOp > &  y 
)
friend

Definition at line 157 of file view.hh.

◆ operator+ [1/2]

template<typename Iterator , typename UnaryOp >
TransformIterator operator+ ( difference_type  n,
TransformIterator< Iterator, UnaryOp >  x 
)
friend

Definition at line 196 of file view.hh.

◆ operator+ [2/2]

template<typename Iterator , typename UnaryOp >
TransformIterator operator+ ( TransformIterator< Iterator, UnaryOp >  x,
difference_type  n 
)
friend

Definition at line 191 of file view.hh.

◆ operator- [1/2]

template<typename Iterator , typename UnaryOp >
difference_type operator- ( const TransformIterator< Iterator, UnaryOp > &  x,
const TransformIterator< Iterator, UnaryOp > &  y 
)
friend

Definition at line 208 of file view.hh.

◆ operator- [2/2]

template<typename Iterator , typename UnaryOp >
TransformIterator operator- ( TransformIterator< Iterator, UnaryOp >  x,
difference_type  n 
)
friend

Definition at line 202 of file view.hh.

◆ operator<

template<typename Iterator , typename UnaryOp >
bool operator< ( const TransformIterator< Iterator, UnaryOp > &  x,
const TransformIterator< Iterator, UnaryOp > &  y 
)
friend

Definition at line 218 of file view.hh.

◆ operator<=

template<typename Iterator , typename UnaryOp >
bool operator<= ( const TransformIterator< Iterator, UnaryOp > &  x,
const TransformIterator< Iterator, UnaryOp > &  y 
)
friend

Definition at line 222 of file view.hh.

◆ operator==

template<typename Iterator , typename UnaryOp >
bool operator== ( const TransformIterator< Iterator, UnaryOp > &  x,
const TransformIterator< Iterator, UnaryOp > &  y 
)
friend

Definition at line 152 of file view.hh.

◆ operator>

template<typename Iterator , typename UnaryOp >
bool operator> ( const TransformIterator< Iterator, UnaryOp > &  x,
const TransformIterator< Iterator, UnaryOp > &  y 
)
friend

Definition at line 226 of file view.hh.

◆ operator>=

template<typename Iterator , typename UnaryOp >
bool operator>= ( const TransformIterator< Iterator, UnaryOp > &  x,
const TransformIterator< Iterator, UnaryOp > &  y 
)
friend

Definition at line 230 of file view.hh.


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