C ++ regex para coincidencias superpuestas

Tengo una cadena 'CCCC' y quiero coincidir con 'CCC', con superposición.

Mi 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++;
}
...

Sin embargo, esto solo regresa

CCC 0 

y se salta elCCC 1 solución, que es necesaria para mí.

Leí sobre 'no codicioso'? coincidencia, pero no pude hacerlo funcionar

Respuestas a la pregunta(1)

Su respuesta a la pregunta