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

Method RemoveColumn

src/rapidcsv.h:796–819  ·  view source on GitHub ↗

* @brief Remove column by index. * @param pColumnIdx zero-based column index. */

Source from the content-addressed store, hash-verified

794 * @param pColumnIdx zero-based column index.
795 */
796 void RemoveColumn(const size_t pColumnIdx)
797 {
798 const size_t dataColumnIdx = GetDataColumnIndex(pColumnIdx);
799 for (auto itRow = mData.begin(); itRow != mData.end(); ++itRow)
800 {
801 if (std::distance(mData.begin(), itRow) >= mLabelParams.mColumnNameIdx)
802 {
803 if (dataColumnIdx < itRow->size())
804 {
805 itRow->erase(itRow->begin() + static_cast<std::ptrdiff_t>(dataColumnIdx));
806 }
807 else
808 {
809 const std::string errStr = "column out of range: " +
810 std::to_string(pColumnIdx) + " (on row " +
811 std::to_string(std::distance(mData.begin(), itRow)) +
812 ")";
813 throw std::out_of_range(errStr);
814 }
815 }
816 }
817
818 UpdateColumnNames();
819 }
820
821 /**
822 * @brief Remove column by name.

Callers 5

test089.cppFile · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80

Calls

no outgoing calls

Tested by 4

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