| 106 | } |
| 107 | |
| 108 | void GetLastRow(const BlockParser& parser, std::vector<std::string>* out, |
| 109 | std::vector<bool>* out_quoted = nullptr) { |
| 110 | std::vector<std::string> values; |
| 111 | std::vector<bool> quoted_values; |
| 112 | auto visit = [&](const uint8_t* data, uint32_t size, bool quoted) -> Status { |
| 113 | values.push_back(std::string(reinterpret_cast<const char*>(data), size)); |
| 114 | if (out_quoted) { |
| 115 | quoted_values.push_back(quoted); |
| 116 | } |
| 117 | return Status::OK(); |
| 118 | }; |
| 119 | ASSERT_OK(parser.VisitLastRow(visit)); |
| 120 | *out = std::move(values); |
| 121 | if (out_quoted) { |
| 122 | *out_quoted = std::move(quoted_values); |
| 123 | } |
| 124 | } |
| 125 | |
| 126 | size_t TotalViewLength(const std::vector<std::string_view>& views) { |
| 127 | size_t total_view_length = 0; |
no test coverage detected