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

Method SetColumn

src/rapidcsv.h:744–774  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

742 */
743 template<typename T>
744 void SetColumn(const size_t pColumnIdx, const std::vector<T>& pColumn)
745 {
746 const size_t dataColumnIdx = GetDataColumnIndex(pColumnIdx);
747
748 while (GetDataRowIndex(pColumn.size()) > GetDataRowCount())
749 {
750 std::vector<std::string> row;
751 row.resize(GetDataColumnCount());
752 mData.push_back(row);
753 }
754
755 if ((dataColumnIdx + 1) > GetDataColumnCount())
756 {
757 for (auto itRow = mData.begin(); itRow != mData.end(); ++itRow)
758 {
759 if (std::distance(mData.begin(), itRow) >= mLabelParams.mColumnNameIdx)
760 {
761 itRow->resize(GetDataColumnIndex(dataColumnIdx + 1));
762 }
763 }
764 }
765
766 Converter<T> converter(mConverterParams);
767 for (auto itRow = pColumn.begin(); itRow != pColumn.end(); ++itRow)
768 {
769 std::string str;
770 converter.ToStr(*itRow, str);
771 mData.at(static_cast<size_t>(std::distance(pColumn.begin(), itRow) + mLabelParams.mColumnNameIdx + 1)).at(
772 dataColumnIdx) = str;
773 }
774 }
775
776 /**
777 * @brief Set column by name.

Callers 2

test081.cppFile · 0.80
test078.cppFile · 0.80

Calls 1

ToStrMethod · 0.45

Tested by

no test coverage detected