diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-11-15 22:00:26 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-12-08 18:16:47 +0100 |
commit | 00d621921eb04ff58be26ee6ab263f0cadcbc1e4 (patch) | |
tree | e42934f8f3a620a8e92a5b2f189ba5f3f32cc5fc | |
parent | 7f6eef37e61ea3d47bf8028c6e37175ba0a71373 (diff) |
Core/Misc: Add std::clamp to advstd
-rw-r--r-- | src/common/Utilities/advstd.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/common/Utilities/advstd.h b/src/common/Utilities/advstd.h index 048765ab2c9..f2db86f11b2 100644 --- a/src/common/Utilities/advstd.h +++ b/src/common/Utilities/advstd.h @@ -149,6 +149,18 @@ namespace advstd struct disjunction<B1> : B1 { }; template <typename B1, class... Bn> struct disjunction<B1, Bn...> : std::conditional_t<bool(B1::value), B1, disjunction<Bn...>> { }; + + template <class T> + constexpr T const& clamp(T const& val, T const& lo, T const& hi) + { + if (hi < val) + return hi; + + if (val < lo) + return lo; + + return val; + } } #endif |