|
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.
|
Concept describing the visual relation between a range and a callable. More...
#include <jh/conceptual/range_traits.h>
Concept describing the visual relation between a range and a callable.
vis_function_for<F, R> formalizes a visual visitation contract: both the range and the callable must satisfy conditions for a non-consuming, non-mutating traversal with a meaningful result.
R supports non-consuming iteration โ calling begin() and end() does not alter its state. R can be dereferenced as input iterators. F can be safely invoked on each element: std::invoke(f, *begin(r)) must be well-formed. In other words, vis_function_for ensures that a callable and a range can participate together in a visual transformation pipeline such as those implemented by jh::ranges::vis_transform_view.
| F | Callable type to be applied visually to the range. |
| R | Range type providing non-consuming elements. |