CLI11
C++11 Command Line Interface Parser
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 CCLI::AppCreates a command line program, with very few defaults
 CCLI::Option_groupExtension of App to better manage groups of options
 CCLI::detail::AppFriendThis class is simply to allow tests access to App's protected functions
 CCLI::ConfigThis class provides a converter for configuration files
 CCLI::ConfigINIThis converter works with INI files
 CCLI::ConfigItemHolds values to load into Options
 Cdecltypetest_find
 CCLI::detail::has_find< T, V >
 CCLI::detail::element_type< T >
 CCLI::detail::element_value_type< T >
 Cfalse_type
 CCLI::detail::pair_adaptor< T, _ >Adaptor for set-like structure: This just wraps a normal container in a few utilities that do almost nothing
 CCLI::is_bool< T >Check to see if something is bool (fail check by default)
 CCLI::is_shared_ptr< T >Check to see if something is a shared pointer
 CCLI::is_vector< T >Check to see if something is a vector (fail check by default)
 CCLI::FormatterBase
 CCLI::Formatter
 CCLI::FormatterLambdaThis is a specialty override for lambda functions
 CCLI::is_copyable_ptr< T >Check to see if something is copyable pointer
 CCLI::detail::is_streamable< S, T >
 CCLI::IsMemberType< T >This can be specialized to override the type deduction for IsMember
 CCLI::IsMemberType< const char * >The main custom type needed here is const char * should be a string
 CCLI::make_void< Ts >A copy of std::void_t from C++17 (helper for C++11 and C++14)
 CCLI::OptionBase< CRTP >
 CCLI::OptionBase< Option >
 CCLI::Option
 CCLI::OptionBase< OptionDefaults >
 CCLI::OptionDefaults
 Cruntime_error
 CCLI::ErrorAll errors derive from this one
 CCLI::ConstructionErrorConstruction errors (not in parsing)
 CCLI::BadNameStringThrown on construction of a bad name
 CCLI::IncorrectConstructionThrown when an option is set to conflicting values (non-vector and multi args, for example)
 CCLI::OptionAlreadyAddedThrown when an option already exists
 CCLI::OptionNotFoundThrown when counting a non-existent option
 CCLI::ParseErrorAnything that can error in Parse
 CCLI::ArgumentMismatchThrown when the wrong number of arguments has been received
 CCLI::CallForAllHelpUsually something like –help-all on command line
 CCLI::CallForHelp-h or –help on command line
 CCLI::ConfigErrorThrown when extra values are found in an INI file
 CCLI::ConversionErrorThrown when conversion call back fails, such as when an int fails to coerce to a string
 CCLI::ExcludesErrorThrown when an excludes option is present
 CCLI::ExtrasErrorThrown when too many positionals or options are found
 CCLI::FileErrorThrown when parsing an INI file and it is missing
 CCLI::HorribleError
 CCLI::InvalidErrorThrown when validation fails before parsing
 CCLI::RequiredErrorThrown when a required option is missing
 CCLI::RequiresErrorThrown when a requires option is missing
 CCLI::RuntimeErrorDoes not output a diagnostic in CLI11_PARSE, but allows to return from main() with a specific error code
 CCLI::SuccessThis is a successful completion on parsing, supposed to exit
 CCLI::ValidationErrorThrown when validation of results fails
 CCLI::TimerThis is a simple timer with pretty printing. Creating the timer starts counting
 CCLI::AutoTimerThis class prints out the time upon destruction
 Ctrue_type
 CCLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > >
 CCLI::detail::sfinae_true< typename >
 CCLI::is_bool< bool >Check to see if something is bool (true if actually a bool)
 CCLI::is_shared_ptr< const std::shared_ptr< T > >Check to see if something is a shared pointer (True if really a shared pointer)
 CCLI::is_shared_ptr< std::shared_ptr< T > >Check to see if something is a shared pointer (True if really a shared pointer)
 CCLI::is_vector< std::vector< T, A > >Check to see if something is a vector (true if actually a vector)
 CCLI::ValidatorSome validators that are provided
 CCLI::AsNumberWithUnit
 CCLI::AsSizeValue
 CCLI::BoundProduce a bounded range (factory). Min and max are inclusive
 CCLI::CheckedTransformerTranslate named items to other or a value set
 CCLI::CustomValidatorClass wrapping some of the accessors of Validator
 CCLI::detail::ExistingDirectoryValidatorCheck for an existing directory (returns error message if check fails)
 CCLI::detail::ExistingFileValidatorCheck for an existing file (returns error message if check fails)
 CCLI::detail::ExistingPathValidatorCheck for an existing path
 CCLI::detail::IPV4ValidatorValidate the given string is a legal ipv4 address
 CCLI::detail::NonexistentPathValidatorCheck for an non-existing path
 CCLI::detail::NumberValidate the argument is a number and greater than or equal to 0
 CCLI::detail::PositiveNumberValidate the argument is a number and greater than or equal to 0
 CCLI::IsMemberVerify items are in a set
 CCLI::RangeProduce a range (factory). Min and max are inclusive
 CCLI::TransformerTranslate named items to other or a value set