boost program_option анализ без учета регистра

Кто-нибудь придумал, как получить параметры программы повышения для анализа списков аргументов без учета регистра

В документации по усилению видно, что он поддерживается. См. http://www.boost.org/doc/libs/1_53_0/boost/program_options/cmdline.hpp

А именно, установка флага перечисления style_t, такого как long_case_insensitive. Однако я не знаю, как это сделать. Например, как получить следующий фрагмент кода для принятия --Help или --help или --HELP

    po::options_description desc("Allowed options");
    desc.add_options()
        ("help", "produce help message")
        ("compression", po::value<double>(), "set compression level")
    ;

    po::variables_map vm;        
    po::store(po::parse_command_line(ac, av, desc), vm);
    po::notify(vm);    

    if (vm.count("help")) {
        cout << desc << "\n";
        return 0;
    }

person Drew    schedule 14.03.2013    source источник


Ответы (1)


Вы можете изменить стиль при звонке в магазин. Я считаю, что это должно сработать для вас:

namespace po_style = boost::program_options::command_line_style;

po::variables_map vm;        
po::store(po::command_line_parser(argc, argv).options(desc)
          .style(po_style::unix_style|po_style::case_insensitive).run(), vm);
po::notify(vm);    
person Andrew Prock    schedule 14.03.2013