diff --git a/src/cpputils.h b/src/cpputils.h index 86d3875..520cab0 100644 --- a/src/cpputils.h +++ b/src/cpputils.h @@ -76,6 +76,20 @@ typename std::common_type::type vmin(T0&& val1, T1&& val2, Ts&&.. else return vmin(val2, std::forward(vs)...); } +template +T vmax(T&&t) +{ + return std::forward(t); +} + +template +typename std::common_type::type vmax(T0&& val1, T1&& val2, Ts&&... vs) +{ + if (val1 > val2) + return vmax(val1, std::forward(vs)...); + else + return vmax(val2, std::forward(vs)...); +} template constexpr const T& clamp( const T& v, const T& lo, const T& hi )