Giriş
Bu sınıf parse işlemini gerçekleştirir. Bu sınıfın kardeşi şöyledir.
Nihai amacı run metodunun çağrılmasıdır. Şöyle yaparız.
Bu sınıf parse işlemini gerçekleştirir. Bu sınıfın kardeşi şöyledir.
po::wcommand_line_parser parser(args);
KullanımNihai amacı run metodunun çağrılmasıdır. Şöyle yaparız.
auto parsedOptions =
po::command_line_parser (argc, argv).options(desc).run();
Örnek
Şöyle yaparız.
Bu sınıf yerine direkt parse_command_line() metodu kullanılabilir. Şöyle yaparız.
Şöyle yaparız.
po::options_description desc = ...;
po::positional_options_description p = ...;
po::variables_map parameters;
po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(),
parameters);
po::notify(parameters);
ÖrnekBu sınıf yerine direkt parse_command_line() metodu kullanılabilir. Şöyle yaparız.
//command line arguments
variables_map vm;
options_description desc = ...;
...
store (parse_command_line (argc, argv, desc), vm);
notify (vm);
Constructor - argc + argv
Şöyle yaparız.
options metodu
po::command_line_parser parser (argc, argv);
Sınıf argv'nin kopyasını alır. İçi şöyledir.
Şöyle yaparız.
Şöyle yaparız.template<class charT>
basic_command_line_parser<charT>::
basic_command_line_parser(int argc, const charT* const argv[])
: detail::cmdline(
// Explicit template arguments are required by gcc 3.3.1
// (at least mingw version), and do no harm on other compilers.
to_internal(detail::make_vector<charT, const charT* const*>(
argv+1, argv+argc+!argc))),
m_desc()
{}
Constructor - std::vector<std::string>Şöyle yaparız.
std::vector<std::wstring> args { L"--silent=no" };
po::wcommand_line_parser parser(args);
allow_unregister metoduparser.allow_unregistered ();
Şöyle yaparız.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
po::positional_options_description p = ...;
parser.positional (p);
run metodu
Şöyle yaparız.
po::parsed_options parsed = parser.run ();
Bu metod exception fırlatabilir. Exception şöyledir. what(): unrecognised option '--help'
style metodu
Örnek
Şöyle yaparız.
const auto windows_style =
po::command_line_style::allow_long |
po::command_line_style::allow_short |
po::command_line_style::allow_dash_for_short |
po::command_line_style::long_allow_next |
po::command_line_style::short_allow_next |
po::command_line_style::case_insensitive;
po::options_description desc;
...
auto args = po::command_line_parser(argc, argv)
.options(desc).
.style(windows_style)
.run();
po::store(args, m_vm);
po::notify(m_vm);
ÖrnekŞöyle yaparız.
std::vector<std::wstring> args { L"--silent=no" };
po::wcommand_line_parser parser(args);
po::wparsed_options parsedOptions = parser.options(desc)
.style(po::command_line_style::default_style).run();
ÖrnekŞöyle yaparız.
options_description desc = ...;
...
command_line_parser parser{argc, argv};
parser.options(desc).allow_unregistered()
.style(command_line_style::default_style | command_line_style::allow_slash_for_short);
Hiç yorum yok:
Yorum Gönder