template< class T > const T& min( const T& a, const T& b ); template< class T, class Compare > const T& min( const T& a, const T& b, Compare comp ); // C++11 template< class T > T min( std::initializer_list<T> ilist ); // C++11 template< class T, class Compare > T min( std::initializer_list<T> ilist, Compare comp );