15 #ifndef SCENARIO_SIMULATOR_EXCEPTION__FOLD_HPP_
16 #define SCENARIO_SIMULATOR_EXCEPTION__FOLD_HPP_
23 inline namespace scenario_simulator_exception
25 template <
typename F,
typename T>
28 return std::forward<decltype(x)>(x);
31 template <
typename F,
typename T,
typename U,
typename... Ts>
32 constexpr decltype(
auto)
fold_left(F && f, T && x, U && y, Ts &&...
xs)
36 f(std::forward<decltype(x)>(x),
37 std::forward<decltype(y)>(y)),
38 std::forward<decltype(
xs)>(
xs)...);
41 template <
typename F,
typename T>
44 return std::forward<decltype(x)>(x);
47 template <
typename F,
typename T,
typename... Ts>
50 return f(std::forward<decltype(x)>(x),
fold_right(f, std::forward<decltype(
xs)>(
xs)...));
constexpr decltype(auto) fold_left(F &&, T &&x)
Definition: fold.hpp:26
constexpr decltype(auto) fold_right(F &&, T &&x)
Definition: fold.hpp:42
Definition: concatenate.hpp:24
Definition: junit5.hpp:25