Simulando la coincidencia de patrones de estilo ML en C ++
El título dice casi todo, cómo me gustaría simular la coincidencia de patrones de estilo ML en C ++, es decir, por ejemplo;
Statement *stm;
match(typeof(stm))
{
case IfThen: ...
case IfThenElse: ...
case While: ...
...
}
Donde 'IfThen', 'IfThenElse' y 'While' son clases que heredan de 'Statement'