¿Cómo salir de un bucle desde dentro de un interruptor?

Estoy escribiendo un código que se ve así:

while(true) {
    switch(msg->state) {
    case MSGTYPE: // ... 
        break;
    // ... more stuff ...
    case DONE:
        break; // **HERE, I want to break out of the loop itself**
    }
}

¿Hay alguna forma directa de hacer eso?

Sé que puedo usar una bandera y romper el bucle poniendo una ruptura condicional justo después del cambio. Solo quiero saber si C ++ tiene alguna construcción para esto ya.

Respuestas a la pregunta(19)

Su respuesta a la pregunta