גרסה 3.0 של ספריית ניתוח ארגומנטים של שורת פקודה מסוג כותרת בלבד ב-C++ (דיאלקט C++17) שוחררה. ניתוח ארגומנטים, מופץ תחת רישיון MIT.
מה חדש:
- נוספה תמיכה בטיעונים ששוללים זה את זה:
אוטומטי &group = program.add_mutually_exclusive_group(); group.add_argument("—ראשון"); group.add_argument("—שני");
- מודול C++20 נוסף;
- נוספה תמיכה בבחירה מתוך ערכים מרובים:
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);
- נוספה תמיכה בסימון בינארי, לדוגמה, 0b101:
argparse::ArgumentParser program("test"); program.add_argument("-n").scan<'b', uint8_t>();
- נוספה גרסה עמוסה מדי של is_subcommand_used שמקבלת מנתח פקודות משנה;
- הפרמטר exit_on_default_arguments נוסף ל-ArgumentParser;
- נוספה תמיכה בהסתרת פקודות משנה מפלט הפקודה --help:
argparse::ArgumentParser program("test"); argparse::ArgumentParser hidden_cmd("hidden"); hidden_cmd.add_argument("קבצים").remaining(); hidden_cmd.set_suppress(true); program.add_subparser(hidden_cmd);
- נוספה היכולת לבדוק את נוכחותם של ערכים מנותחים ב-ArgumentParser;
- נוסף יישור עמודות לעזרה מרובת שורות עבור ארגומנטים;
- באגים רבים תוקנו.
מקור: linux.org.ru
