From f4eedc5f630fd3ba4a04a00b157893cfa09c20de Mon Sep 17 00:00:00 2001 From: Jochen Topf Date: Mon, 16 Sep 2024 10:55:54 +0200 Subject: [PATCH] Update included CLI11 library to version 2.4.2 --- contrib/CLI11/LICENSE | 2 +- contrib/CLI11/README.contrib | 2 +- contrib/CLI11/README.md | 45 +++++++++++-------- contrib/CLI11/include/CLI/App.hpp | 15 +++++-- contrib/CLI11/include/CLI/Argv.hpp | 6 ++- contrib/CLI11/include/CLI/CLI.hpp | 4 ++ contrib/CLI11/include/CLI/Config.hpp | 4 +- contrib/CLI11/include/CLI/ConfigFwd.hpp | 2 + contrib/CLI11/include/CLI/Encoding.hpp | 5 ++- contrib/CLI11/include/CLI/Error.hpp | 12 ++--- contrib/CLI11/include/CLI/Formatter.hpp | 4 +- contrib/CLI11/include/CLI/FormatterFwd.hpp | 2 + contrib/CLI11/include/CLI/Macros.hpp | 2 + contrib/CLI11/include/CLI/Option.hpp | 4 +- contrib/CLI11/include/CLI/Split.hpp | 4 +- contrib/CLI11/include/CLI/StringTools.hpp | 4 +- contrib/CLI11/include/CLI/Timer.hpp | 2 + contrib/CLI11/include/CLI/TypeTools.hpp | 42 ++++++++++++++--- contrib/CLI11/include/CLI/Validators.hpp | 4 +- contrib/CLI11/include/CLI/Version.hpp | 6 ++- contrib/CLI11/include/CLI/impl/App_inl.hpp | 41 ++++++++--------- contrib/CLI11/include/CLI/impl/Argv_inl.hpp | 6 ++- contrib/CLI11/include/CLI/impl/Config_inl.hpp | 4 +- .../CLI11/include/CLI/impl/Encoding_inl.hpp | 6 ++- .../CLI11/include/CLI/impl/Formatter_inl.hpp | 4 +- contrib/CLI11/include/CLI/impl/Option_inl.hpp | 4 +- contrib/CLI11/include/CLI/impl/Split_inl.hpp | 8 ++-- .../include/CLI/impl/StringTools_inl.hpp | 4 +- .../CLI11/include/CLI/impl/Validators_inl.hpp | 11 ++--- 29 files changed, 175 insertions(+), 84 deletions(-) diff --git a/contrib/CLI11/LICENSE b/contrib/CLI11/LICENSE index aae15855e..715be0bb4 100644 --- a/contrib/CLI11/LICENSE +++ b/contrib/CLI11/LICENSE @@ -1,4 +1,4 @@ -CLI11 2.2 Copyright (c) 2017-2023 University of Cincinnati, developed by Henry +CLI11 2.2 Copyright (c) 2017-2024 University of Cincinnati, developed by Henry Schreiner under NSF AWARD 1414736. All rights reserved. Redistribution and use in source and binary forms of CLI11, with or without diff --git a/contrib/CLI11/README.contrib b/contrib/CLI11/README.contrib index 04e057e2d..304172b0d 100644 --- a/contrib/CLI11/README.contrib +++ b/contrib/CLI11/README.contrib @@ -1,2 +1,2 @@ Source: https://github.com/CLIUtils/CLI11 -Revision: v2.4.1 +Revision: v2.4.2 diff --git a/contrib/CLI11/README.md b/contrib/CLI11/README.md index 7a26fb251..0f3229913 100644 --- a/contrib/CLI11/README.md +++ b/contrib/CLI11/README.md @@ -1663,92 +1663,99 @@ thanks to all the contributors Anton
Anton

πŸ’» Artem Trokhymchuk
Artem Trokhymchuk

πŸ’» Benjamin Beichler
Benjamin Beichler

πŸ’» - Christoph Bachhuber
Christoph Bachhuber

πŸ’‘ πŸ’» + Caleb Zulawski
Caleb Zulawski

πŸ“¦ + Christian Asmussen
Christian Asmussen

πŸ“– + Christoph Bachhuber
Christoph Bachhuber

πŸ’‘ πŸ’» D. Fleury
D. Fleury

πŸ’» Dan Barowy
Dan Barowy

πŸ“– Daniel Mensinger
Daniel Mensinger

πŸ“¦ DarkWingMcQuack
DarkWingMcQuack

πŸ’» Dominik Steinberger
Dominik Steinberger

πŸ’» - Doug Johnston
Doug Johnston

πŸ› πŸ’» - Eli Schwartz
Eli Schwartz

πŸ’» + Doug Johnston
Doug Johnston

πŸ› πŸ’» + Dylan Baker
Dylan Baker

πŸ“¦ + Eli Schwartz
Eli Schwartz

πŸ’» + Ethan Sifferman
Ethan Sifferman

πŸ’» Fred HelmesjΓΆ
Fred HelmesjΓΆ

πŸ› πŸ’» Henry Schreiner
Henry Schreiner

πŸ› πŸ“– πŸ’» Isabella Muerte
Isabella Muerte

πŸ“¦ + + Izzy Muerte
Izzy Muerte

πŸ’» Jakob Lover
Jakob Lover

πŸ’» James Gerity
James Gerity

πŸ“– Jesus Briales
Jesus Briales

πŸ’» πŸ› - - Jonas Nilsson
Jonas Nilsson

πŸ› πŸ’» Jose Luis Rivero
Jose Luis Rivero

πŸ’» Josh Soref
Josh Soref

πŸ”§ + + KOLANICH
KOLANICH

πŸ“¦ Kannan
Kannan

πŸ› πŸ’» Khem Raj
Khem Raj

πŸ’» Lars Nielsen
Lars Nielsen

πŸ’» - - Lucas Czech
Lucas Czech

πŸ› πŸ’» Mak Kolybabi
Mak Kolybabi

πŸ“– Marcin Ropa
Marcin Ropa

πŸ’» + + Marcus Brinkmann
Marcus Brinkmann

πŸ› πŸ’» Mathias Soeken
Mathias Soeken

πŸ“– Matt McCormick
Matt McCormick

πŸ’» Max
Max

πŸ’» - - Michael Hall
Michael Hall

πŸ“– Nathan Hourt
Nathan Hourt

πŸ› πŸ’» Nathaniel Hourt
Nathaniel Hourt

πŸ’» + + Olaf Meeuwissen
Olaf Meeuwissen

πŸ’» OndΕ™ej ČertΓ­k
OndΕ™ej ČertΓ­k

πŸ› Paul le Roux
Paul le Roux

πŸ’» πŸ“¦ PaweΕ‚ Bylica
PaweΕ‚ Bylica

πŸ“¦ - - PeteAudinate
PeteAudinate

πŸ’» Peter Azmanov
Peter Azmanov

πŸ’» Peter Harris
Peter Harris

πŸ’» + + Peter Heywood
Peter Heywood

πŸ’» Philip Top
Philip Top

πŸ› πŸ“– πŸ’» Rafi Wiener
Rafi Wiener

πŸ› πŸ’» RangeMachine
RangeMachine

πŸ’» - - Robert Adam
Robert Adam

πŸ’» Ryan Curtin
Ryan Curtin

πŸ“– Ryan Sherlock
Ryan Sherlock

πŸ’» + + Sam Hocevar
Sam Hocevar

πŸ’» Sean Fisk
Sean Fisk

πŸ› πŸ’» StΓ©phane Del Pino
StΓ©phane Del Pino

πŸ’» Viacheslav Kroilov
Viacheslav Kroilov

πŸ’» - - Volker Christian
Volker Christian

πŸ’» almikhayl
almikhayl

πŸ’» πŸ“¦ ayum
ayum

πŸ’» + + captainurist
captainurist

πŸ’» christos
christos

πŸ’» deining
deining

πŸ“– dherrera-fb
dherrera-fb

πŸ’» - - djerius
djerius

πŸ’» dryleev
dryleev

πŸ’» elszon
elszon

πŸ’» + + ferdymercury
ferdymercury

πŸ“– fpeng1985
fpeng1985

πŸ’» geir-t
geir-t

πŸ“¦ + gostefan
gostefan

πŸ’» ncihnegn
ncihnegn

πŸ’» - - nurelin
nurelin

πŸ’» polistern
polistern

πŸ’» + + ryan4729
ryan4729

⚠️ shameekganguly
shameekganguly

πŸ’» diff --git a/contrib/CLI11/include/CLI/App.hpp b/contrib/CLI11/include/CLI/App.hpp index 5d7761608..940b858bd 100644 --- a/contrib/CLI11/include/CLI/App.hpp +++ b/contrib/CLI11/include/CLI/App.hpp @@ -6,6 +6,8 @@ #pragma once +// IWYU pragma: private, include "CLI/CLI.hpp" + // [CLI11:public_includes:set] #include #include @@ -733,6 +735,10 @@ class App { /// Check to see if a subcommand is part of this command (text version) CLI11_NODISCARD App *get_subcommand(std::string subcom) const; + /// Get a subcommand by name (noexcept non-const version) + /// returns null if subcommand doesn't exist + CLI11_NODISCARD App *get_subcommand_no_throw(std::string subcom) const noexcept; + /// Get a pointer to subcommand by index CLI11_NODISCARD App *get_subcommand(int index = 0) const; @@ -907,8 +913,9 @@ class App { } /// Check with name instead of pointer to see if subcommand was selected - CLI11_NODISCARD bool got_subcommand(std::string subcommand_name) const { - return get_subcommand(subcommand_name)->parsed_ > 0; + CLI11_NODISCARD bool got_subcommand(std::string subcommand_name) const noexcept { + App *sub = get_subcommand_no_throw(subcommand_name); + return (sub != nullptr) ? (sub->parsed_ > 0) : false; } /// Sets excluded options for the subcommand @@ -1038,7 +1045,7 @@ class App { std::vector