diff options
| author | Fernando S <fsahmkow27@gmail.com> | 2022-10-06 21:29:53 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-06 21:29:53 +0200 |
| commit | b8860d8aa5b3db0d1bb323bf61d4dd175ab26650 (patch) | |
| tree | 14803b31b6817294d40d57446f6fa94c5ff3fe9a /src/common/algorithm.h | |
| parent | d2f7e857d9cdd0943bd71b0e7f4abdf90c562f72 (diff) | |
| parent | 285aedee4f28c87a8a1ad49c81071baaf952e344 (diff) | |
Merge pull request #8467 from FernandoS27/yfc-rel-1
Project yuzu Fried Chicken (Y.F.C.) Part 1
Diffstat (limited to 'src/common/algorithm.h')
| -rw-r--r-- | src/common/algorithm.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/common/algorithm.h b/src/common/algorithm.h index 9ddfd637b6..c27c9241d9 100644 --- a/src/common/algorithm.h +++ b/src/common/algorithm.h @@ -24,4 +24,12 @@ template <class ForwardIt, class T, class Compare = std::less<>> return first != last && !comp(value, *first) ? first : last; } +template <typename T, typename Func, typename... Args> +T FoldRight(T initial_value, Func&& func, Args&&... args) { + T value{initial_value}; + const auto high_func = [&value, &func]<typename U>(U x) { value = func(value, x); }; + (std::invoke(high_func, std::forward<Args>(args)), ...); + return value; +} + } // namespace Common |
