Basic functional programming tools in the spirit of those in Clojure core and Haskell's Prelude.
More...
Classes | |
| struct | complement_t |
| struct | constantly_t |
| struct | identity_t |
| Similar to clojure.core/identity. More... | |
| struct | identity_t_ |
| Similar to identity, but it never returns a reference to the pased in value. More... | |
| struct | tracer |
| Function object for calling trace. More... | |
| struct | tuplify_t |
| Function that forwards its argument if only one element passed, otherwise it makes a tuple. More... | |
Functions | |
| template<typename F > | |
| auto | comp (F &&f) -> F && |
| Right-to left function composition. More... | |
| template<typename Fn , typename... Fns> | |
| auto | comp (Fn &&f, Fns &&...fns) -> detail::get_composed_t< estd::decay_t< Fn >, estd::decay_t< Fns >... > |
| template<typename FnT > | |
| auto | complement (FnT &&fn) -> complement_t< estd::decay_t< FnT > > |
| Similar to clojure.core/complement$1. More... | |
| template<typename T > | |
| auto | constantly (T &&value) -> constantly_t< estd::decay_t< T > > |
| Similar to clojure.core/constantly. More... | |
| template<typename T > | |
| auto | trace (T &&x, const std::string &message) -> T && |
Prints "<message> <x>" to std::cerr and returns the value, forwarded. More... | |
Variables | |
| constexpr struct atria::prelude::identity_t | identity |
| constexpr struct atria::prelude::identity_t_ | identity_ |
| constexpr struct atria::prelude::tuplify_t | tuplify |
Detailed Description
Basic functional programming tools in the spirit of those in Clojure core and Haskell's Prelude.
Function Documentation
| auto atria::prelude::comp | ( | F && | f | ) | -> F&& |
| auto atria::prelude::complement | ( | FnT && | fn | ) | -> complement_t<estd::decay_t<FnT> > |
Similar to clojure.core/complement$1.
fn is invoked via standard INVOKE, allowing to negate function pointers, member functions, etc.
Definition at line 55 of file complement.hpp.
| auto atria::prelude::constantly | ( | T && | value | ) | -> constantly_t<estd::decay_t<T> > |
Similar to clojure.core/constantly.
Definition at line 56 of file constantly.hpp.

1.8.10