strata::pipeableΒΆ
Part of Views and expressions.
concept
template<typename T>
concept strata::pipeable = std::derived_from<std::remove_cvref_t<T>, detail::pipe_base>
A function object that x | f can apply: it takes one value and waits for it on the left.
x | abs | sqrt | mean.along<1> is mean.along<1>(sqrt(abs(x))). A call short of its first argument is pipeable too: x | slice<0>(i) is slice<0>(x, i). Pipeable | pipeable is a pipeable of its own, abs | sqrt waiting for data. | of tensors stays bitwise: a function object is no operand, so it never competes.
Note
x | pow is refused: it would be pow(x), a closure of x, not what anyone meant.