Komut satırı bağımsız değişkenlerini ayrıştırmak için 3.0 C++ (C++17 lehçesi) yalnızca başlık kitaplığının sürümü tartışmaMIT lisansı altında dağıtılmaktadır.
Yenilikler:
- birbirini dışlayan argümanlar için destek eklendi:
auto &group = program.add_mutually_exclusive_group(); group.add_argument("—ilk"); group.add_argument("—saniye");
- C++20 modülü eklendi;
- birden fazla değer arasından seçim yapmak için eklenen destek:
program.add_argument("input") .default_value(std::string{"baz"}) .choices("foo", "bar", "baz"); program.add_argument("count") .default_value(0) .choices(0, 1, 2, 3, 4, 5);
- ikili gösterim için destek eklendi, örneğin 0b101:
argparse::ArgumentParser programı("test"); program.add_argument("-n").scan<'b', uint8_t>();
- bir alt komut ayrıştırıcısını kabul eden is_subcommand_used'ın aşırı yüklenmiş bir sürümü eklendi;
- ArgumentParser'a çıkış_on_default_arguments parametresi eklendi;
- --help komutunun çıktısından alt komutları gizlemek için destek eklendi:
argparse::ArgumentParser programı("test"); argparse::ArgumentParser gizli_cmd("gizli"); Hidden_cmd.add_argument("dosyalar").remaining(); Hidden_cmd.set_suppress(true); program.add_subparser(hidden_cmd);
- ArgumentParser'da ayrıştırılmış değerleri kontrol etme yeteneği eklendi;
- argümanlar için çok satırlı yardım sütununa hizalama eklendi;
- Birçok hata düzeltildi.
Kaynak: linux.org.ru
