18 std::pair<std::array<T, count>, std::array<T, count>>
25 using A = std::array<T, count>;
30 A min_value = extract(*it);
31 A max_value = extract(*it);
35 for(; it!=ts.end(); it+=1)
37 const A a = extract(*it);
38 for(
size_t sub = 0; sub< count; sub += 1)
40 min_value[sub] =
std::min(min_value[sub], a[sub]);
41 max_value[sub] =
std::max(max_value[sub], a[sub]);
45 return {min_value, max_value};
63 T min_value = extract(*it);
64 T max_value = extract(*it);
68 for(; it!=ts.end(); it+=1)
70 min_value =
std::min(min_value, extract(*it));
71 max_value =
std::max(max_value, extract(*it));
74 return {min_value, max_value};
100 for(; it!=ts.end(); it+=1)
102 min_value = min_func(min_value, *it);
103 max_value = max_func(max_value, *it);
106 return {min_value, max_value};
std::tuple< T, T > find_min_max(const TContainer &ts, TMinFunc min_func, TMaxFunc max_func)
Range< T > find_min_max_range(const TContainer &ts, TExtract extract)
std::pair< std::array< T, count >, std::array< T, count > > find_min_max_ranges(const TContainer &ts, TExtract extract)
size2f min(const size2f lhs, const size2f rhs)
size2f max(const size2f lhs, const size2f rhs)