aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/pythran/pythran/pythonic/include/builtins/minmax.hpp
blob: 8163964c18396ccfe868db4ed0936cf0db0c9cb3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef PYTHONIC_INCLUDE_BUILTIN_MINMAX_HPP
#define PYTHONIC_INCLUDE_BUILTIN_MINMAX_HPP

#include <utility>
#include "pythonic/include/builtins/pythran/kwonly.hpp"

PYTHONIC_NS_BEGIN

namespace builtins
{
  namespace details
  {
    template <class Op, class T>
    typename std::decay<T>::type::value_type minmax(Op const &, T &&t);

    template <class Op, class T, class F>
    typename std::decay<T>::type::value_type minmax(Op const &, T &&t,
                                                    types::kwonly, F key);

    template <class Op, class T0, class T1, class... Types>
    typename std::enable_if<!std::is_same<T1, types::kwonly>::value,
                            typename __combined<T0, T1, Types...>::type>::type
    minmax(Op const &, T0 const &, T1 const &, Types const &...);
  }
}
PYTHONIC_NS_END

#endif