He estado tratando de validar mis opciones pasadas con boost :: program_options. Mi comando tiene varios modos, cada uno de los cuales tiene params asociados que se pueden especificar. Lo que estoy tratando de hacer es asegurarse de que estos parametros asociados se transmiten con el modo, es decirOpciones de programa Boost con valores predeterminados siempre presentes cuando utilizo vm.count()
unicorn --fly --magic-wings-threshold
Dónde --fly
es el modo y --magic-wings-threshold
es un parámetro asociado. Lo que noté es que --magic-wings-threshold
tiene un valor predeterminado, p.
("magic-wings-threshold,w", po::value<double>(&wings_thresh)->default_value(0.8, "0.8"),
"Magic wings maximum power"
)
entonces no puedo usar
if (vm.count("magic-wings-threshold")({
// do stuff
}
para detectar si el usuario pasa que PARAM.
Parece que los parámetros de valor predeterminados siempre se pasan y se detectan en vm.count()
. ¿Alguien sabe una solución o alternativa?
Todos los unicornios con los que estoy familiarizado no son fl y no tienes alas. ¿Quizás estabas pensando en Pegaso? – flies