MCPcopy Create free account
hub / github.com/d99kris/rapidcsv / SetColumnName

Method SetColumnName

src/rapidcsv.h:1435–1467  ·  view source on GitHub ↗

* @brief Set column name * @param pColumnIdx zero-based column index. * @param pColumnName column name. */

Source from the content-addressed store, hash-verified

1433 * @param pColumnName column name.
1434 */
1435 void SetColumnName(size_t pColumnIdx, const std::string& pColumnName)
1436 {
1437 if (mLabelParams.mColumnNameIdx < 0)
1438 {
1439 throw std::out_of_range("column name row index < 0: " + std::to_string(mLabelParams.mColumnNameIdx));
1440 }
1441
1442 const size_t dataColumnIdx = GetDataColumnIndex(pColumnIdx);
1443
1444 // remove old name from map before adding new one
1445 const size_t nameRowIdx = static_cast<size_t>(mLabelParams.mColumnNameIdx);
1446 if ((nameRowIdx < mData.size()) && (dataColumnIdx < mData.at(nameRowIdx).size()))
1447 {
1448 const std::string oldName = mData.at(nameRowIdx).at(dataColumnIdx);
1449 mColumnNames.erase(oldName);
1450 }
1451 mColumnNames[pColumnName] = dataColumnIdx;
1452
1453 // increase table size if necessary:
1454 const size_t rowIdx = static_cast<size_t>(mLabelParams.mColumnNameIdx);
1455 if (rowIdx >= mData.size())
1456 {
1457 mData.resize(rowIdx + 1);
1458 }
1459
1460 std::vector<std::string>& row = mData[rowIdx];
1461 if (dataColumnIdx >= row.size())
1462 {
1463 row.resize(dataColumnIdx + 1);
1464 }
1465
1466 mData.at(static_cast<size_t>(mLabelParams.mColumnNameIdx)).at(dataColumnIdx) = pColumnName;
1467 }
1468
1469 /**
1470 * @brief Get column names

Callers 9

mainFunction · 0.80
test081.cppFile · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80

Calls

no outgoing calls

Tested by 8

mainFunction · 0.64
mainFunction · 0.64
mainFunction · 0.64
mainFunction · 0.64
mainFunction · 0.64
mainFunction · 0.64
mainFunction · 0.64
mainFunction · 0.64