| 761 | } |
| 762 | |
| 763 | vector_2d transpose(const vector_2d &z) { |
| 764 | vector_2d z2(z[0].size(), vector_1d(z.size())); |
| 765 | for (size_t i = 0; i < z.size(); ++i) { |
| 766 | for (size_t j = 0; j < z[0].size(); ++j) { |
| 767 | z2[j][i] = z[i][j]; |
| 768 | } |
| 769 | } |
| 770 | return z2; |
| 771 | } |
| 772 | |
| 773 | std::vector<std::string> tokenize(std::string_view text, |
| 774 | std::string_view delimiters) { |