Modern C++ is increasingly influenced by concepts and approaches taken from functional programming paradigm. This talk presents an example of a typically functional solution applicable to a pretty wide class of practical tasks. Unlike traditional collection processing (fmap, std::transform) where a number of values are passed through a single function, one can take a single value and pass it through a collection of functions. There are several ways to do so, one of them is described in detail. The talk covers mathematical properties as well as C++ implementation based on variadic temlates and metaprogramming.
Presentation