| 143 | |
| 144 | template <typename T> |
| 145 | Result<std::vector<T>> UnwrapOrRaise(std::vector<Result<T>>&& results) { |
| 146 | std::vector<T> out; |
| 147 | out.reserve(results.size()); |
| 148 | for (auto&& result : results) { |
| 149 | if (!result.ok()) { |
| 150 | return result.status(); |
| 151 | } |
| 152 | out.push_back(result.MoveValueUnsafe()); |
| 153 | } |
| 154 | return out; |
| 155 | } |
| 156 | |
| 157 | template <typename T> |
| 158 | Result<std::vector<T>> UnwrapOrRaise(const std::vector<Result<T>>& results) { |