#include <chsvmemex.h>
Public Types | |
| typedef std::remove_reference_t< decltype(std::declval< TransformingFunctor >)(*std::declval< BaseIterator >)))> | value_type |
| A type of a value yielded by the transforming iterator. | |
| typedef value_type & | reference |
| A type of a reference to a value generated by the transforming function object. | |
| typedef value_type * | pointer |
| A type of a pointer to a value generated by the transforming function object. | |
| typedef BaseIterator | iterator_type |
A type of the adapted iterator and an alias of BaseIterator. | |
| typedef TransformingFunctor | transforming_functor_type |
A type of the transforming functional object. An alias of TransformingFunctor. | |
| typedef std::iterator_traits< BaseIterator >::difference_type | difference_type |
| A type of a signed integral difference between positions of two transforming iterators. It is an alias of the same type associated with the adapted iterator. | |
| typedef std::iterator_traits< BaseIterator >::iterator_category | iterator_category |
| An iterator category specified with respect to the iterator category of the adapted iterator. | |
Public Member Functions | |
| const iterator_type & | base () const noexcept |
| Returns a read-only reference to the adapted iterator. More... | |
| iterator_type & | base () noexcept |
| Returns a reference to the mutable adapted iterator. More... | |
| transforming_functor_type & | transformer () noexcept |
| Returns a read-only reference to the transforming functional object. More... | |
| const transforming_functor_type & | transformer () const noexcept |
| Returns a reference to the transforming functional object. More... | |
| transforming_iterator ()=default | |
| Default constructor. | |
| transforming_iterator (const transforming_iterator &right) | |
| Copy constructor. More... | |
| transforming_iterator (transforming_iterator &&)=default | |
| Move constructor. | |
| template<class TransformingFn > | |
| transforming_iterator (iterator_type it, TransformingFn &&transformer) | |
| A constructor initializing the created transforming iterator with a base iterator and a transforming functional object. More... | |
| transforming_iterator (iterator_type it) | |
| Initializes the created iterator with an adapted iterator and a default-constructed instance of the transforming functional object. More... | |
| transforming_iterator & | operator= (const transforming_iterator &right) |
| Copy-assignment operator. More... | |
| transforming_iterator & | operator= (transforming_iterator &&right)=default |
| Move-assignment operator. More... | |
| reference | operator* () const |
| Dereferences the current iterator. More... | |
| pointer | operator-> () const |
| Indirectly dereferences the transforming iterator and provides access to members of the type associated with the result of a transformation. More... | |
| transforming_iterator & | operator++ () |
| Advances the position of the transforming iterator by one step towards the end of the iterated sequence. More... | |
| unspecified_dereferencable_type | operator++ (int) |
| Advances the position of the transforming iterator returning a copy of the iterator in the previous state. More... | |
| bool | operator== (const transforming_iterator &right) const |
| Compares two instances of transforming iterators for equality. More... | |
| bool | operator!= (const transforming_iterator &right) const |
| Compares two instances of transforming iterators for inequality. More... | |
| transforming_iterator & | operator-- () |
| Advances the position of the transforming iterator towards the beginning of the iterated sequence. More... | |
| transforming_iterator | operator-- (int) |
| Advances the position of the transforming iterator towards the beginning of the iterated sequence and returns a copy of the transforming iterator prior to the decrement. More... | |
| transforming_iterator & | operator+= (difference_type n) |
| Advances the transforming iterator by a given step from the beginning of the iterated sequence. More... | |
| transforming_iterator | operator+ (difference_type n) const |
| Creates a copy of an iterator associated with a position shifted by a specified number to the end. More... | |
| transforming_iterator & | operator-= (difference_type n) |
| Advances the transforming iterator by a given step away from the ending of the iterated sequence. More... | |
| transforming_iterator | operator- (difference_type n) const |
| Creates a copy of an iterator associated with a position shifted by a specified number to the beginning of the iterated sequence. More... | |
| difference_type | operator- (const transforming_iterator &right) const |
| Calculates a signed difference between positions of two iterators. More... | |
| value_type | operator[] (difference_type n) const |
| Provides an arbitrary access to the underlying iterated sequence. More... | |
| bool | operator< (const transforming_iterator &right) const |
| Checks if the current position of the left-hand-side iterator is to the left of the position of the parameter, i.e. whether the respective order of the corresponding adopted iterators holds. More... | |
| bool | operator<= (const transforming_iterator &right) const |
| Checks if the current position of the left-hand-side iterator is to the left of the position of the parameter or the two positions match, i.e. whether the respective order of the corresponding adopted iterators holds. More... | |
| bool | operator> (const transforming_iterator &right) const |
| Checks if the current position of the left-hand-side iterator is to the right of the position of the parameter, i.e. whether the respective order of the corresponding adopted iterators holds. More... | |
| bool | operator>= (const transforming_iterator &right) const |
| Checks if the current position of the left-hand-side iterator is to the right of the position of the parameter or the two positions match, i.e. whether the respective order of the corresponding adopted iterators holds. More... | |
An adapter for iterators to perform a given transformation upon each access to an iterated object.
| BaseIterator | is an iterator to be adapted. |
| TransformingFunctor | is the transforming functor. |
Dereferencing the adapter for some iterator it and the functor fn is equivalent to the call fn(*it);.