| 690 | // in range [0, v.size()). |
| 691 | template <typename E> |
| 692 | inline E GetElementOr(const std::vector<E>& v, int i, E default_value) { |
| 693 | return (i < 0 || i >= static_cast<int>(v.size())) ? default_value |
| 694 | : v[static_cast<size_t>(i)]; |
| 695 | } |
| 696 | |
| 697 | // Performs an in-place shuffle of a range of the vector's elements. |
| 698 | // 'begin' and 'end' are element indices as an STL-style range; |
no test coverage detected