|
JH-Toolkit v1.4.1
An engineering-oriented C++20 toolkit with duck-typed concepts, static design, async coroutines, and semantic containers — header-only, RTTI-free, and concurrency-friendly.
|
Iterator type implementing the transformation projection. More...
#include <jh/ranges/vis_transform_view.h>
Public Types | |
| using | Base = const std::remove_reference_t<R> |
| using | base_iterator = std::ranges::iterator_t<Base> |
| using | iterator_concept |
| using | difference_type = std::ranges::range_difference_t<Base> |
| using | value_type |
Public Member Functions | |
| constexpr | iterator (const vis_transform_view *p, base_iterator it) |
| constexpr decltype(auto) | operator* () const noexcept(noexcept(std::invoke(std::declval< const F & >(), *std::declval< base_iterator & >()))) |
| Apply the transformation function on dereference. | |
| constexpr iterator & | operator++ () |
| constexpr iterator | operator++ (int) noexcept(noexcept(std::declval< base_iterator & >()++)) |
| constexpr iterator & | operator-- () noexcept(noexcept(--std::declval< base_iterator & >())) |
| constexpr iterator | operator-- (int) noexcept(noexcept(std::declval< base_iterator & >() --)) |
| constexpr iterator & | operator+= (difference_type n) noexcept(noexcept(std::declval< base_iterator & >()+=n)) |
| constexpr iterator & | operator-= (difference_type n) noexcept(noexcept(std::declval< base_iterator & >() -=n)) |
| constexpr iterator | operator+ (difference_type n) const noexcept(noexcept(std::declval< const base_iterator & >()+n)) |
| constexpr iterator | operator- (difference_type n) const noexcept(noexcept(std::declval< const base_iterator & >() - n)) |
| constexpr decltype(auto) | operator[] (difference_type n) const noexcept(noexcept(std::declval< const base_iterator & >()[n])) |
Public Attributes | |
| base_iterator | current_ |
| const vis_transform_view * | parent_ = nullptr |
Iterator type implementing the transformation projection.
Each dereference applies the stored function to the corresponding element of the base iterator. Iterator category and operations mirror those of the base iterator.
| using jh::ranges::vis_transform_view< R, F >::iterator::iterator_concept |
| using jh::ranges::vis_transform_view< R, F >::iterator::value_type |