MySQL 9.6.0
Source Code Documentation
mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp > Class Template Reference

Iterator adaptor that applies a transformation on each value before returning it. More...

#include <transform_view.h>

Inheritance diagram for mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >:
[legend]

Public Types

using Transform_t = Transform_tp
 
using Source_iterator_t = Source_iterator_tp
 

Public Member Functions

 Transform_iterator ()=default
 
 Transform_iterator (const Source_iterator_t &source_iterator)
 
 Transform_iterator (Source_iterator_t &&source_iterator)
 
decltype(auto) get () const
 
void next ()
 
void prev ()
 
void advance (std::ptrdiff_t delta)
 
bool is_equal (const Transform_iterator &other) const
 
std::ptrdiff_t distance_from (const Transform_iterator &other) const
 
- Public Member Functions inherited from mysql::iterators::Iterator_interface< Transform_iterator< Transform_tp, Source_iterator_tp > >
decltype(auto) operator* () const
 Dereference operator, which returns the current value. More...
 
auto operator-> () const
 Arrow operator, return a pointer (possibly a fancy pointer) to the current element. More...
 
Self_toperator++ ()
 Pre-increment operator, which advances the position one step and returns a reference to the iterator itself. More...
 
auto operator++ (int)
 Post-increment operator, which advances the position one step. More...
 
Self_toperator-- ()
 Pre-decrement iterator, which moves one step back and returns a reference to the iterator itself. More...
 
auto operator-- (int)
 Post-decrement operator, which moves one step back and returns a copy of the iterator before the decrement. More...
 
Self_toperator+= (std::ptrdiff_t delta)
 Addition assignment operator, which moves the iterator forward by the given number of steps, and returns a reference to the iterator itself. More...
 
Self_toperator-= (std::ptrdiff_t delta)
 Subtraction assignment operator, which moves the iterator backward by the given number of steps, and returns a reference to the iterator itself. More...
 
Self_t operator+ (std::ptrdiff_t delta) const
 Addition operator, which returns a new iterator that is the given number of steps ahead of the current iterator. More...
 
Self_t operator- (std::ptrdiff_t delta) const
 Subtraction-of-integer operator, which returns a new iterator that is the given number of steps behind of the current iterator. More...
 
std::ptrdiff_t operator- (const Self_t &other) const
 Subtraction-of-iterator operator, which returns the number of steps from other this. More...
 
decltype(auto) operator[] (std::ptrdiff_t delta) const
 Subscript operator, which returns a new iterator that is the given number of steps ahead of the current iterator. More...
 

Private Attributes

Source_iterator_t m_source_iterator {}
 

Additional Inherited Members

- Protected Types inherited from mysql::iterators::Iterator_interface< Transform_iterator< Transform_tp, Source_iterator_tp > >
using Self_t = Transform_iterator< Transform_tp, Source_iterator_tp >
 

Detailed Description

template<class Transform_tp, std::input_iterator Source_iterator_tp>
class mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >

Iterator adaptor that applies a transformation on each value before returning it.

Template Parameters
Transform_tpThe transform.
Source_iterator_tpThe source iterator type.

Member Typedef Documentation

◆ Source_iterator_t

template<class Transform_tp , std::input_iterator Source_iterator_tp>
using mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::Source_iterator_t = Source_iterator_tp

◆ Transform_t

template<class Transform_tp , std::input_iterator Source_iterator_tp>
using mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::Transform_t = Transform_tp

Constructor & Destructor Documentation

◆ Transform_iterator() [1/3]

template<class Transform_tp , std::input_iterator Source_iterator_tp>
mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::Transform_iterator ( )
explicitdefault

◆ Transform_iterator() [2/3]

template<class Transform_tp , std::input_iterator Source_iterator_tp>
mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::Transform_iterator ( const Source_iterator_t source_iterator)
inlineexplicit

◆ Transform_iterator() [3/3]

template<class Transform_tp , std::input_iterator Source_iterator_tp>
mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::Transform_iterator ( Source_iterator_t &&  source_iterator)
inlineexplicit

Member Function Documentation

◆ advance()

template<class Transform_tp , std::input_iterator Source_iterator_tp>
void mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::advance ( std::ptrdiff_t  delta)
inline

◆ distance_from()

template<class Transform_tp , std::input_iterator Source_iterator_tp>
std::ptrdiff_t mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::distance_from ( const Transform_iterator< Transform_tp, Source_iterator_tp > &  other) const
inline

◆ get()

template<class Transform_tp , std::input_iterator Source_iterator_tp>
decltype(auto) mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::get ( ) const
inline

◆ is_equal()

template<class Transform_tp , std::input_iterator Source_iterator_tp>
bool mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::is_equal ( const Transform_iterator< Transform_tp, Source_iterator_tp > &  other) const
inline

◆ next()

template<class Transform_tp , std::input_iterator Source_iterator_tp>
void mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::next ( )
inline

◆ prev()

template<class Transform_tp , std::input_iterator Source_iterator_tp>
void mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::prev ( )
inline

Member Data Documentation

◆ m_source_iterator

template<class Transform_tp , std::input_iterator Source_iterator_tp>
Source_iterator_t mysql::ranges::Transform_iterator< Transform_tp, Source_iterator_tp >::m_source_iterator {}
private

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