Regex C ++ para correspondências sobrepostas

Eu tenho uma string 'CC0' e quero corresponder a 'CCC' nela, com sobreposição.

Meu código:

...
std::string input_seq = "CCCC";
std::regex re("CCC");
std::sregex_iterator next(input_seq.begin(), input_seq.end(), re);
std::sregex_iterator end;
while (next != end) {
    std::smatch match = *next;
    std::cout << match.str() << "\t" << "\t" << match.position() << "\t" << "\n";
    next++;
}
...

No entanto, isso só retorna

CCC 0 

e pula oCCC 1 solução necessária para mim.

Eu li sobre 'não' ganancioso? correspondência, mas eu não poderia fazê-lo funcionar

questionAnswers(1)

yourAnswerToTheQuestion