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 = std::invoke_result_t< UnaryOp, decltype(*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

constexpr TransformIterator ()=default
 
constexpr TransformIterator (Iterator it_, UnaryOp op_)
 
constexpr return_type operator* () const
 
constexpr TransformIteratoroperator++ ()
 
constexpr TransformIterator operator++ (int)
 
constexpr TransformIteratoroperator-- ()
 
constexpr TransformIterator operator-- (int)
 
constexpr TransformIteratoroperator+= (difference_type n)
 
constexpr TransformIteratoroperator-= (difference_type n)
 
constexpr reference operator[] (difference_type n)
 
constexpr auto operator<=> (const TransformIterator &other) const
 

Friends

constexpr friend bool operator== (const TransformIterator &x, const TransformIterator &y)
 
constexpr friend TransformIterator operator+ (TransformIterator x, difference_type n)
 
constexpr friend TransformIterator operator+ (difference_type n, TransformIterator x)
 
constexpr friend TransformIterator operator- (TransformIterator x, difference_type n)
 
constexpr friend difference_type operator- (const TransformIterator &x, const TransformIterator &y)
 

Detailed Description

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

Definition at line 120 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 127 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 128 of file view.hh.

◆ pointer

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

Definition at line 126 of file view.hh.

◆ reference

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

Definition at line 125 of file view.hh.

◆ return_type

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

Definition at line 123 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 124 of file view.hh.

Constructor & Destructor Documentation

◆ TransformIterator() [1/2]

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

◆ TransformIterator() [2/2]

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

Definition at line 133 of file view.hh.

Member Function Documentation

◆ operator*()

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

Definition at line 140 of file view.hh.

◆ operator++() [1/2]

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

Definition at line 144 of file view.hh.

◆ operator++() [2/2]

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

Definition at line 150 of file view.hh.

◆ operator+=()

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

Definition at line 179 of file view.hh.

◆ operator--() [1/2]

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

Definition at line 164 of file view.hh.

◆ operator--() [2/2]

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

Definition at line 170 of file view.hh.

◆ operator-=()

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

Definition at line 185 of file view.hh.

◆ operator<=>()

template<typename Iterator , typename UnaryOp >
constexpr auto view::detail::TransformIterator< Iterator, UnaryOp >::operator<=> ( const TransformIterator< Iterator, UnaryOp > &  other) const
inlineconstexpr

Definition at line 218 of file view.hh.

◆ operator[]()

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

Definition at line 213 of file view.hh.

Friends And Related Symbol Documentation

◆ operator+ [1/2]

template<typename Iterator , typename UnaryOp >
constexpr friend 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 >
constexpr friend 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 >
constexpr friend 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 >
constexpr friend TransformIterator operator- ( TransformIterator< Iterator, UnaryOp >  x,
difference_type  n 
)
friend

Definition at line 202 of file view.hh.

◆ operator==

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

Definition at line 157 of file view.hh.


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