diff --git a/alib2std/src/extensions/algorithm.hpp b/alib2std/src/extensions/algorithm.hpp index a0615c6c39894590c2b1fc1bf7cb2e51cd945c9f..b86b4eac9ed39a2004ec56b3e77b1131de72c92b 100644 --- a/alib2std/src/extensions/algorithm.hpp +++ b/alib2std/src/extensions/algorithm.hpp @@ -120,6 +120,26 @@ std::pair < Iterator, Iterator > find_range ( Iterator begin, Iterator end, cons return res; } +template < typename T > +const T & max ( const T & a ) { + return a; +} + +template < typename T, typename ... Args > +const T & max ( const T & a, const T & b, const Args & ... args ) { + return max ( b < a ? a : b, args ... ); +} + +template < typename T > +const T & min ( const T & a) { + return a; +} + +template < typename T, typename ... Args > +const T & min ( const T & a, const T & b, const Args & ... args) { + return min ( b > a ? a : b, args ... ); +} + } /* namespace ext */ #endif /* __ALGORITHM_HPP_ */