diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2017-05-07 11:13:47 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2017-05-10 11:19:22 +0200 |
commit | f8b3c341164fdb336eea43a820af814cff5b6485 (patch) | |
tree | bbad8a224fd770179620e2bf68e82acfff8e3d99 | |
parent | d561e59cacc4e22cb5fb87c3fee09c7c50c7dde2 (diff) |
compat/functional: add generic value-constant type
-rw-r--r-- | compat/functional.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/compat/functional.hpp b/compat/functional.hpp index e7229d6e..141bbef7 100644 --- a/compat/functional.hpp +++ b/compat/functional.hpp @@ -38,6 +38,19 @@ inline void maybe_reserve_space(seq_& seq, unsigned sz) } // ns +template<typename t, t value_> +struct constant final +{ + using type = t; + constexpr type operator()() const noexcept + { + return value_; + } + static constexpr type value = value_; + + constant() = delete; +}; + template<typename seq_, typename F> auto map(F&& fun, const seq_& seq) { |