| 105 | |
| 106 | template <typename T, typename Field> |
| 107 | auto get_distinct_field_values(const std::vector<const T *> &vec, Field T::*field) |
| 108 | { |
| 109 | std::set<std::remove_reference_t<decltype(std::declval<T>().*field)>> distinct_values; |
| 110 | |
| 111 | std::transform(vec.begin(), vec.end(), |
| 112 | std::inserter(distinct_values, distinct_values.end()), |
| 113 | [field](const T *item) |
| 114 | { return item->*field; }); |
| 115 | return distinct_values; |
| 116 | } |
| 117 | |
| 118 | template <typename T, typename Field> |
| 119 | auto get_distinct_field_values(const std::vector<T> &vec, Field T::*field) |
no outgoing calls
no test coverage detected