Lines Matching refs:V
443 template<typename T, typename U, typename... V>
444 struct c2_types<T, U, V...> {
446 typedef typename c2_types<typename c2_types<T, U>::wide_type, V...>::wide_type wide_type;
448 typedef typename c2_types<typename c2_types<T, U>::narrow_type, V...>::narrow_type narrow_type;
450 typedef typename c2_types<typename c2_types<T, U>::min_type, V...>::min_type min_type;
473 template<typename T, typename U, typename... V>
474 constexpr typename c2_types<T, U, V...>::wide_type c2_max(const T a, const U b, const V ... c) {
475 typedef typename c2_types<T, U, V...>::wide_type wide_type;
502 template<typename T, typename U, typename... V>
503 constexpr typename c2_types<T, U, V...>::min_type c2_min(const T a, const U b, const V ... c) {
504 typedef typename c2_types<U, V...>::min_type rest_type;
515 template<typename T, typename U, typename V>
516 inline constexpr typename c2_types<T, V>::wide_type c2_clamp(const T a, const U b, const V c) {
517 typedef typename c2_types<T, U, V>::wide_type wide_type;
520 static_cast<typename c2_types<T, V>::wide_type>(b_ < a_ ? a_ : b_ > c_ ? c_ : b_);