|
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.
|
Implementation of the jh::ranges::vis_transform_view class — a non-consuming, observation-oriented transformation view.
More...
Go to the source code of this file.
Classes | |
| class | jh::ranges::vis_transform_view< R, F > |
| A non-consuming transform view preserving reentrancy. More... | |
| struct | jh::ranges::vis_transform_view< R, F >::iterator |
| Iterator type implementing the transformation projection. More... | |
Namespaces | |
| namespace | jh::ranges |
| Semantic pipeline namespace for JH range operations. | |
Functions | |
| template<typename R, typename F> | |
| jh::ranges::vis_transform_view (R &&, F) -> vis_transform_view< std::views::all_t< R >, F > | |
Deduction guide for vis_transform_view. | |
Variables | |
| template<typename R, typename F> | |
| constexpr bool | std::ranges::enable_borrowed_range< jh::ranges::vis_transform_view< R, F > > |
Legal specialization of std::ranges::enable_borrowed_range. | |
Implementation of the jh::ranges::vis_transform_view class — a non-consuming, observation-oriented transformation view.
The jh::ranges::vis_transform_view represents the underlying mechanism used by jh::ranges::views::vis_transform. It applies a callable over a range without consuming the source elements, preserving reentrancy and the integrity of the underlying data.
std::ranges::view_interface for composability. This class template is instantiated only when jh::concepts::vis_function_for<F, R> is satisfied. That concept ensures both that the callable F can be safely applied to R and that the transformation does not alter or terminate the stream.
In contrast to std::views::transform, which models a potentially consumptive view, vis_transform_view guarantees the output remains non-consuming and fully reentrant.
1.3.x
2025