Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. #include <utility>
  2.  
  3. // basic min and max implementations
  4. template <typename T> constexpr T Min(const T& x, const T& y) {return (x < y) ? x : y;}
  5. template <typename T> constexpr T Max(const T& x, const T& y) {return (x > y) ? x : y;}
  6.  
  7. // extended versions with variadic templates
  8. template <typename T, typename... A> constexpr T Min(const T& x, const T& y, A&&... vArgs)
  9. {return Min(x, Min(y, std::forward<A>(vArgs)...));}
  10. template <typename T, typename... A> constexpr T Max(const T& x, const T& y, A&&... vArgs)
  11. {return Max(x, Max(y, std::forward<A>(vArgs)...));}
  12.  
  13. Min(a, b, 10.0f, c, Max(d, e));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement