Linha C ++ CSV com vírgulas e cadeias de caracteres entre aspas duplas

Estou lendo um arquivo CSV em C ++ e o formato da linha é o seguinte:

"Primário, Secundário, Terceiro", "Primário",, "Secundário", 18, 4, 0, 0, 0

(observe o valor vazio)

Quando eu faço:

while (std::getline(ss, csvElement, ',')) {
   csvColumn.push_back(csvElement);
}

Isso divide a primeira corda em pedaços que não estão corretos.

Como preservo a string ao iterar? Tentei fazer uma combinação dos itens acima e, ao mesmo tempo, peguei as linhas separadas por aspas duplas, mas obtive resultados loucos.

questionAnswers(3)

yourAnswerToTheQuestion