| 103 | } |
| 104 | |
| 105 | std::vector<const std::string*> DataTable::at(const size_t index, const FIELD_SELECTION field_selection) const |
| 106 | { |
| 107 | std::vector<const std::string*> record; |
| 108 | if (field_selection == FIELD_SELECTION::ALL) |
| 109 | { |
| 110 | record.resize((m_column_order.size())); |
| 111 | for (size_t column = 0; column < m_column_order.size(); ++column) |
| 112 | { |
| 113 | record[column] = &m_data[(m_column_order.size() * index) + column]; |
| 114 | } |
| 115 | } |
| 116 | else if (field_selection == FIELD_SELECTION::VISIBLE) |
| 117 | { |
| 118 | record.resize((m_visible_columns.size())); |
| 119 | for (size_t column = 0; column < m_visible_columns.size(); ++column) |
| 120 | { |
| 121 | record[column] = &m_data[(m_column_order.size() * index) + m_visible_columns[column]->second]; |
| 122 | } |
| 123 | } |
| 124 | else |
| 125 | { |
| 126 | record.resize((m_invisible_columns.size())); |
| 127 | for (size_t column = 0; column < m_invisible_columns.size(); ++column) |
| 128 | { |
| 129 | record[column] = &m_data[(m_column_order.size() * index) + m_invisible_columns[column]->second]; |
| 130 | } |
| 131 | } |
| 132 | return record; |
| 133 | } |
| 134 | |
| 135 | std::vector<const std::string*> DataTable::at(const size_t index, const std::vector<std::string> fields) const |
| 136 | { |
no test coverage detected