#pragma once #include #include namespace cpp26 { [[nodiscard]] constexpr auto compile_time_factorial(int n) -> long long { auto result = 1LL; for (auto i = 2; i <= n; ++i) { result *= i; } return result; } [[nodiscard]] constexpr auto compile_time_sum(std::array values) -> int { return std::ranges::fold_left(values, 0, std::plus{}); } [[nodiscard]] constexpr auto is_sorted(const std::array &values) -> bool { return std::ranges::is_sorted(values); // also a constexpr function } } // namespace cpp26