|
|
- #pragma once
-
- namespace gp{
- template<typename T, typename U, typename ...rest>
- constexpr T max(T first, U second, rest... args)
- {
- if constexpr (sizeof...(args) == 0)
- {
- return first > second ? first : second;
- }
- else
- {
- return max(first > second ? first : second, args...);
- }
- }
-
- template<typename T, typename U, typename ...rest>
- constexpr T min(T first, U second, rest... args)
- {
- if constexpr (sizeof...(args) == 0)
- {
- return first < second ? first : second;
- }
- else
- {
- return min(first < second ? first : second, args...);
- }
- }
- }
|