| 192 | } |
| 193 | |
| 194 | void Table::getColumnNames(libmexclass::proxy::method::Context& context) { |
| 195 | namespace mda = ::matlab::data; |
| 196 | mda::ArrayFactory factory; |
| 197 | const int num_columns = table->num_columns(); |
| 198 | |
| 199 | std::vector<mda::MATLABString> column_names; |
| 200 | const auto schema = table->schema(); |
| 201 | const auto field_names = schema->field_names(); |
| 202 | for (int i = 0; i < num_columns; ++i) { |
| 203 | const auto column_name_utf8 = field_names[i]; |
| 204 | MATLAB_ASSIGN_OR_ERROR_WITH_CONTEXT(auto column_name_utf16, |
| 205 | arrow::util::UTF8StringToUTF16(column_name_utf8), |
| 206 | context, error::UNICODE_CONVERSION_ERROR_ID); |
| 207 | const mda::MATLABString matlab_string = |
| 208 | mda::MATLABString(std::move(column_name_utf16)); |
| 209 | column_names.push_back(matlab_string); |
| 210 | } |
| 211 | auto column_names_mda = |
| 212 | factory.createArray({size_t{1}, static_cast<size_t>(num_columns)}, |
| 213 | column_names.begin(), column_names.end()); |
| 214 | context.outputs[0] = column_names_mda; |
| 215 | } |
| 216 | |
| 217 | void Table::getSchema(libmexclass::proxy::method::Context& context) { |
| 218 | namespace mda = ::matlab::data; |
nothing calls this directly
no test coverage detected