2011-11-09 14 views
5

Uso las opciones de programa para analizar las opciones de línea de comando de mi aplicación.¿Cómo tener una opción que habilite otras opciones en Opciones de programas Boost sin usar variables?

Tengo varias opciones como -Ox, -Oy, -Oz, ... y quiero tener una súper opción -Olo que habilita Ox y Oy y otro -Osub que habilita Oz y Ow.

¿Hay alguna manera de hacerlo utilizando las Opciones del programa Boost?

Al principio, quería verificar el valor de Oall y luego habilitar manualmente Ox y Oy, pero no es posible editar los valores después del análisis.

Quiero evitar el uso de variables para almacenar los valores de Ox, Oy, porque puedo tener muchas de estas opciones.

Gracias

+0

Si se quiere evitar tener variables para 'Ox',' Oy', y 'Oz', ¿cómo piensa usted sobre el acceso a sus valores? En otras palabras, ¿cómo planeas desencadenar la lógica asociada con esas opciones cuando se configuran individualmente? – rcollyer

+0

Quería decir options.count ("Ox") –

+1

Entendido. Pero no hay una forma de vincular la ocurrencia de un parámetro con otro en 'program_options'. Sin embargo, puede adaptar el método de @CharlesB, de modo que cada vez que marque 'options.count (" Ox ")' también verifique 'options.count (" Oall ")'. – rcollyer

Respuesta

1

veo esto más en la lógica de su programa por lo que dudan de opciones de programa proporcionar esto. utilizar simplemente

if (Oall) 
{Ox = Oy = Oz = true;} 

y tal

+1

Esto funciona, pero con esta solución tengo que usar variables mapeando cada opción y quiero evitar este caso si es posible. –

+0

Por fin, parece que es la mejor solución para usar. Gracias –

Cuestiones relacionadas