| 23 | |
| 24 | template<typename I> |
| 25 | I random_pick(I beg, I end) { |
| 26 | if (beg == end) |
| 27 | throw std::runtime_error("No candidates available"); |
| 28 | |
| 29 | std::uniform_int_distribution<> pick(0, std::distance(beg, end) - 1); |
| 30 | std::advance(beg, pick(smith::rng)); |
| 31 | return beg; |
| 32 | } |
| 33 | |
| 34 | template<typename I> |
| 35 | I random_pick(std::pair<I,I> iters) { |
no outgoing calls
no test coverage detected