Skip to content

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.

const auto y = signal | strata::abs | strata::sqrt;
const auto row = matrix | strata::slice<0>(i);

Note

x | pow is refused: it would be pow(x), a closure of x, not what anyone meant.