8#ifndef ADOBE_ALGORITHM_SELECT_HPP
9#define ADOBE_ALGORITHM_SELECT_HPP
49template <
class T,
class R>
51 return r(b, a) ? b : a;
58template <
class T,
class R>
60 return r(b, a) ? b : a;
67template <
class T,
class R>
69 return r(b, a) ? a : b;
76template <
class T,
class R>
78 return r(b, a) ? a : b;
85template <
typename T,
typename R>
87 assert(!r(c, a) &&
"WARNING (sparent) : a and b must be non-decreasing");
95template <
typename T,
typename R>
97 assert(!r(c, a) &&
"WARNING (sparent) : a and b must be non-decreasing");
105template <
typename T,
typename R>
107 assert(!r(b, a) &&
"WARNING (sparent) : a and b must be non-decreasing");
115template <
typename T,
typename R>
117 assert(!r(b, a) &&
"WARNING (sparent) : a and b must be non-decreasing");
125template <
typename T,
typename R>
126inline const T&
select_1_3(
const T& a,
const T& b,
const T& c, R r) {
134template <
typename T,
typename R>
const T & select_1_3_ab(const T &a, const T &b, const T &c, R r)
select_1_ab implementation
const T & select_1_3_ac(const T &a, const T &b, const T &c, R r)
select_1_ab implementation
const T & select_1_3(const T &a, const T &b, const T &c, R r)
select_1 implementation
const T & select_0_2(const T &a, const T &b, R r)
select_0 implementation
const T & select_1_2(const T &a, const T &b, R r)
select_0 implementation