Add clamp function to <algorithm>

This commit is contained in:
EnderIce2 2024-03-13 18:18:03 +02:00
parent f009f181b0
commit 740f100843
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD

View File

@ -52,6 +52,19 @@ namespace std
return (a > b) ? a : b;
}
template <typename T>
constexpr const T &clamp(const T &v, const T &lo, const T &hi)
{
return std::max(lo, std::min(v, hi));
}
template <class T, class Compare>
constexpr const T &clamp(const T &v, const T &lo, const T &hi, Compare comp)
{
return comp(v, lo) ? lo : comp(hi, v) ? hi
: v;
}
template <class InputIt, class T>
constexpr InputIt find(InputIt first, InputIt last, const T &value)
{