HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pxr_CLI::CLI Namespace Reference

Namespaces

 detail
 
 enums
 
 FailureMessage
 

Classes

class  Error
 All errors derive from this one. More...
 
class  ConstructionError
 Construction errors (not in parsing) More...
 
class  IncorrectConstruction
 Thrown when an option is set to conflicting values (non-vector and multi args, for example) More...
 
class  BadNameString
 Thrown on construction of a bad name. More...
 
class  OptionAlreadyAdded
 Thrown when an option already exists. More...
 
class  ParseError
 Anything that can error in Parse. More...
 
class  Success
 This is a successful completion on parsing, supposed to exit. More...
 
class  CallForHelp
 -h or –help on command line More...
 
class  CallForAllHelp
 Usually something like –help-all on command line. More...
 
class  CallForVersion
 -v or –version on command line More...
 
class  RuntimeError
 Does not output a diagnostic in CLI11_PARSE, but allows main() to return with a specific error code. More...
 
class  FileError
 Thrown when parsing an INI file and it is missing. More...
 
class  ConversionError
 Thrown when conversion call back fails, such as when an int fails to coerce to a string. More...
 
class  ValidationError
 Thrown when validation of results fails. More...
 
class  RequiredError
 Thrown when a required option is missing. More...
 
class  ArgumentMismatch
 Thrown when the wrong number of arguments has been received. More...
 
class  RequiresError
 Thrown when a requires option is missing. More...
 
class  ExcludesError
 Thrown when an excludes option is present. More...
 
class  ExtrasError
 Thrown when too many positionals or options are found. More...
 
class  ConfigError
 Thrown when extra values are found in an INI file. More...
 
class  InvalidError
 Thrown when validation fails before parsing. More...
 
class  HorribleError
 
class  OptionNotFound
 Thrown when counting a non-existent option. More...
 
struct  make_void
 A copy of std::void_t from C++17 (helper for C++11 and C++14) More...
 
struct  is_bool
 Check to see if something is bool (fail check by default) More...
 
struct  is_bool< bool >
 Check to see if something is bool (true if actually a bool) More...
 
struct  is_shared_ptr
 Check to see if something is a shared pointer. More...
 
struct  is_shared_ptr< std::shared_ptr< T > >
 Check to see if something is a shared pointer (True if really a shared pointer) More...
 
struct  is_shared_ptr< const std::shared_ptr< T > >
 Check to see if something is a shared pointer (True if really a shared pointer) More...
 
struct  is_copyable_ptr
 Check to see if something is copyable pointer. More...
 
struct  IsMemberType
 This can be specialized to override the type deduction for IsMember. More...
 
struct  IsMemberType< const char * >
 The main custom type needed here is const char * should be a string. More...
 
struct  ConfigItem
 Holds values to load into Options. More...
 
class  Config
 This class provides a converter for configuration files. More...
 
class  ConfigBase
 This converter works with INI/TOML files; to write INI files use ConfigINI. More...
 
class  ConfigINI
 ConfigINI generates a "standard" INI compliant output. More...
 
class  Validator
 Some validators that are provided. More...
 
class  CustomValidator
 Class wrapping some of the accessors of Validator. More...
 
class  TypeValidator
 Validate the input as a particular type. More...
 
class  FileOnDefaultPath
 
class  Range
 Produce a range (factory). Min and max are inclusive. More...
 
class  Bound
 Produce a bounded range (factory). Min and max are inclusive. More...
 
class  IsMember
 Verify items are in a set. More...
 
class  Transformer
 Translate named items to other or a value set. More...
 
class  CheckedTransformer
 translate named items to other or a value set More...
 
class  AsNumberWithUnit
 
class  AsSizeValue
 
class  FormatterBase
 
class  FormatterLambda
 This is a specialty override for lambda functions. More...
 
class  Formatter
 
class  OptionBase
 
class  OptionDefaults
 
class  Option
 
class  App
 Creates a command line program, with very few defaults. More...
 
class  Option_group
 Extension of App to better manage groups of options. More...
 

Typedefs

template<bool B, class T = void>
using enable_if_t = typename std::enable_if< B, T >::type
 
template<typename... Ts>
using void_t = typename make_void< Ts...>::type
 A copy of std::void_t from C++17 - same reasoning as enable_if_t, it does not hurt to redefine. More...
 
template<bool B, class T , class F >
using conditional_t = typename std::conditional< B, T, F >::type
 A copy of std::conditional_t from C++14 - same reasoning as enable_if_t, it does not hurt to redefine. More...
 
using ConfigTOML = ConfigBase
 the default Config is the TOML file format More...
 
using results_t = std::vector< std::string >
 
using callback_t = std::function< bool(const results_t &)>
 callback function definition More...
 
using Option_p = std::unique_ptr< Option >
 
using App_p = std::shared_ptr< App >
 

Enumerations

enum  ExitCodes {
  ExitCodes::Success = 0, ExitCodes::IncorrectConstruction = 100, ExitCodes::BadNameString, ExitCodes::OptionAlreadyAdded,
  ExitCodes::FileError, ExitCodes::ConversionError, ExitCodes::ValidationError, ExitCodes::RequiredError,
  ExitCodes::RequiresError, ExitCodes::ExcludesError, ExitCodes::ExtrasError, ExitCodes::ConfigError,
  ExitCodes::InvalidError, ExitCodes::HorribleError, ExitCodes::OptionNotFound, ExitCodes::ArgumentMismatch,
  ExitCodes::BaseClass = 127
}
 
enum  AppFormatMode { AppFormatMode::Normal, AppFormatMode::All, AppFormatMode::Sub }
 
enum  MultiOptionPolicy : char {
  MultiOptionPolicy::Throw, MultiOptionPolicy::TakeLast, MultiOptionPolicy::TakeFirst, MultiOptionPolicy::Join,
  MultiOptionPolicy::TakeAll, MultiOptionPolicy::Sum
}
 Enumeration of the multiOption Policy selection. More...
 
enum  config_extras_mode : char { config_extras_mode::error = 0, config_extras_mode::ignore, config_extras_mode::ignore_all, config_extras_mode::capture }
 enumeration of modes of how to deal with extras in config files More...
 

Functions

CLI11_INLINE void TriggerOn (App *trigger_app, App *app_to_enable)
 Helper function to enable one option group/subcommand when another is used. More...
 
CLI11_INLINE void TriggerOn (App *trigger_app, std::vector< App * > apps_to_enable)
 Helper function to enable one option group/subcommand when another is used. More...
 
CLI11_INLINE void TriggerOff (App *trigger_app, App *app_to_enable)
 Helper function to disable one option group/subcommand when another is used. More...
 
CLI11_INLINE void TriggerOff (App *trigger_app, std::vector< App * > apps_to_enable)
 Helper function to disable one option group/subcommand when another is used. More...
 
CLI11_INLINE void deprecate_option (Option *opt, const std::string &replacement="")
 Helper function to mark an option as deprecated. More...
 
void deprecate_option (App *app, const std::string &option_name, const std::string &replacement="")
 Helper function to mark an option as deprecated. More...
 
void deprecate_option (App &app, const std::string &option_name, const std::string &replacement="")
 Helper function to mark an option as deprecated. More...
 
CLI11_INLINE void retire_option (App *app, Option *opt)
 Helper function to mark an option as retired. More...
 
CLI11_INLINE void retire_option (App &app, Option *opt)
 Helper function to mark an option as retired. More...
 
CLI11_INLINE void retire_option (App *app, const std::string &option_name)
 Helper function to mark an option as retired. More...
 
CLI11_INLINE void retire_option (App &app, const std::string &option_name)
 Helper function to mark an option as retired. More...
 
template<typename T >
using TransformPairs = std::vector< std::pair< std::string, T >>
 definition of the default transformation object More...
 
const detail::ExistingFileValidator ExistingFile
 Check for existing file (returns error message if check fails) More...
 
const
detail::ExistingDirectoryValidator 
ExistingDirectory
 Check for an existing directory (returns error message if check fails) More...
 
const detail::ExistingPathValidator ExistingPath
 Check for an existing path. More...
 
const
detail::NonexistentPathValidator 
NonexistentPath
 Check for an non-existing path. More...
 
const detail::IPV4Validator ValidIPV4
 Check for an IP4 address. More...
 
const TypeValidator< double > Number ("NUMBER")
 Check for a number. More...
 
const Range NonNegativeNumber ((std::numeric_limits< double >::max)(),"NONNEGATIVE")
 Check for a non negative number. More...
 
const Range PositiveNumber ((std::numeric_limits< double >::min)(),(std::numeric_limits< double >::max)(),"POSITIVE")
 Check for a positive valued number (val>0.0), <double>::min here is the smallest positive number. More...
 
std::string ignore_case (std::string item)
 Helper function to allow ignore_case to be passed to IsMember or Transform. More...
 
std::string ignore_underscore (std::string item)
 Helper function to allow ignore_underscore to be passed to IsMember or Transform. More...
 
std::string ignore_space (std::string item)
 Helper function to allow checks to ignore spaces to be passed to IsMember or Transform. More...
 
AsNumberWithUnit::Options operator| (const AsNumberWithUnit::Options &a, const AsNumberWithUnit::Options &b)
 definition of the default transformation object More...
 

Typedef Documentation

using pxr_CLI::CLI::App_p = typedef std::shared_ptr<App>

Definition at line 5582 of file CLI11.h.

using pxr_CLI::CLI::callback_t = typedef std::function<bool(const results_t &)>

callback function definition

Definition at line 4150 of file CLI11.h.

template<bool B, class T , class F >
using pxr_CLI::CLI::conditional_t = typedef typename std::conditional<B, T, F>::type

A copy of std::conditional_t from C++14 - same reasoning as enable_if_t, it does not hurt to redefine.

Definition at line 1002 of file CLI11.h.

the default Config is the TOML file format

Definition at line 2801 of file CLI11.h.

template<bool B, class T = void>
using pxr_CLI::CLI::enable_if_t = typedef typename std::enable_if<B, T>::type

A copy of enable_if_t from C++14, compatible with C++11.

We could check to see if C++14 is being used, but it does not hurt to redefine this (even Google does this: https://github.com/google/skia/blob/main/include/private/SkTLogic.h) It is not in the std namespace anyway, so no harm done.

Definition at line 993 of file CLI11.h.

using pxr_CLI::CLI::Option_p = typedef std::unique_ptr<Option>

Definition at line 4155 of file CLI11.h.

using pxr_CLI::CLI::results_t = typedef std::vector<std::string>

Definition at line 4148 of file CLI11.h.

template<typename T >
using pxr_CLI::CLI::TransformPairs = typedef std::vector<std::pair<std::string, T>>

definition of the default transformation object

Definition at line 3319 of file CLI11.h.

template<typename... Ts>
using pxr_CLI::CLI::void_t = typedef typename make_void<Ts...>::type

A copy of std::void_t from C++17 - same reasoning as enable_if_t, it does not hurt to redefine.

Definition at line 999 of file CLI11.h.

Enumeration Type Documentation

This enum signifies the type of help requested

This is passed in by App; all user classes must accept this as the second argument.

Enumerator
Normal 

The normal, detailed help.

All 

A fully expanded help.

Sub 

Used when printed as part of expanded subcommand.

Definition at line 3987 of file CLI11.h.

enumeration of modes of how to deal with extras in config files

Enumerator
error 
ignore 
ignore_all 
capture 

Definition at line 5578 of file CLI11.h.

These codes are part of every error in CLI. They can be obtained from e using e.exit_code or as a quick shortcut, int values from e.get_error_code().

Enumerator
Success 
IncorrectConstruction 
BadNameString 
OptionAlreadyAdded 
FileError 
ConversionError 
ValidationError 
RequiredError 
RequiresError 
ExcludesError 
ExtrasError 
ConfigError 
InvalidError 
HorribleError 
OptionNotFound 
ArgumentMismatch 
BaseClass 

Definition at line 662 of file CLI11.h.

enum pxr_CLI::CLI::MultiOptionPolicy : char
strong

Enumeration of the multiOption Policy selection.

Enumerator
Throw 

Throw an error if any extra arguments were given.

TakeLast 

take only the last Expected number of arguments

TakeFirst 

take only the first Expected number of arguments

Join 

merge all the arguments together into a single string via the delimiter character default('
')

TakeAll 

just get all the passed argument regardless

Sum 

sum all the arguments together if numerical or concatenate directly without delimiter

Definition at line 4157 of file CLI11.h.

Function Documentation

CLI11_INLINE void pxr_CLI::CLI::deprecate_option ( Option *  opt,
const std::string replacement = "" 
)

Helper function to mark an option as deprecated.

Definition at line 8896 of file CLI11.h.

void pxr_CLI::CLI::deprecate_option ( App *  app,
const std::string option_name,
const std::string replacement = "" 
)
inline

Helper function to mark an option as deprecated.

Definition at line 6852 of file CLI11.h.

void pxr_CLI::CLI::deprecate_option ( App &  app,
const std::string option_name,
const std::string replacement = "" 
)
inline

Helper function to mark an option as deprecated.

Definition at line 6858 of file CLI11.h.

std::string pxr_CLI::CLI::ignore_case ( std::string  item)
inline

Helper function to allow ignore_case to be passed to IsMember or Transform.

Definition at line 3456 of file CLI11.h.

std::string pxr_CLI::CLI::ignore_space ( std::string  item)
inline

Helper function to allow checks to ignore spaces to be passed to IsMember or Transform.

Definition at line 3462 of file CLI11.h.

std::string pxr_CLI::CLI::ignore_underscore ( std::string  item)
inline

Helper function to allow ignore_underscore to be passed to IsMember or Transform.

Definition at line 3459 of file CLI11.h.

const Range pxr_CLI::CLI::NonNegativeNumber ( (std::numeric_limits< double >::max)()  ,
"NONNEGATIVE"   
)

Check for a non negative number.

const TypeValidator<double> pxr_CLI::CLI::Number ( "NUMBER"  )

Check for a number.

AsNumberWithUnit::Options pxr_CLI::CLI::operator| ( const AsNumberWithUnit::Options &  a,
const AsNumberWithUnit::Options &  b 
)
inline

definition of the default transformation object

Definition at line 3606 of file CLI11.h.

const Range pxr_CLI::CLI::PositiveNumber ( (std::numeric_limits< double >::min)()  ,
(std::numeric_limits< double >::max)()  ,
"POSITIVE"   
)

Check for a positive valued number (val>0.0), <double>::min here is the smallest positive number.

CLI11_INLINE void pxr_CLI::CLI::retire_option ( App *  app,
Option *  opt 
)

Helper function to mark an option as retired.

Definition at line 8910 of file CLI11.h.

CLI11_INLINE void pxr_CLI::CLI::retire_option ( App &  app,
Option *  opt 
)

Helper function to mark an option as retired.

Definition at line 8934 of file CLI11.h.

CLI11_INLINE void pxr_CLI::CLI::retire_option ( App *  app,
const std::string option_name 
)

Helper function to mark an option as retired.

Definition at line 8936 of file CLI11.h.

CLI11_INLINE void pxr_CLI::CLI::retire_option ( App &  app,
const std::string option_name 
)

Helper function to mark an option as retired.

Definition at line 8956 of file CLI11.h.

CLI11_INLINE void pxr_CLI::CLI::TriggerOff ( App *  trigger_app,
App *  app_to_enable 
)

Helper function to disable one option group/subcommand when another is used.

Definition at line 8877 of file CLI11.h.

CLI11_INLINE void pxr_CLI::CLI::TriggerOff ( App *  trigger_app,
std::vector< App * >  apps_to_enable 
)

Helper function to disable one option group/subcommand when another is used.

Definition at line 8883 of file CLI11.h.

CLI11_INLINE void pxr_CLI::CLI::TriggerOn ( App *  trigger_app,
App *  app_to_enable 
)

Helper function to enable one option group/subcommand when another is used.

Definition at line 8858 of file CLI11.h.

CLI11_INLINE void pxr_CLI::CLI::TriggerOn ( App *  trigger_app,
std::vector< App * >  apps_to_enable 
)

Helper function to enable one option group/subcommand when another is used.

Definition at line 8864 of file CLI11.h.

Variable Documentation

const detail::ExistingDirectoryValidator pxr_CLI::CLI::ExistingDirectory

Check for an existing directory (returns error message if check fails)

Definition at line 3006 of file CLI11.h.

const detail::ExistingFileValidator pxr_CLI::CLI::ExistingFile

Check for existing file (returns error message if check fails)

Definition at line 3003 of file CLI11.h.

const detail::ExistingPathValidator pxr_CLI::CLI::ExistingPath

Check for an existing path.

Definition at line 3009 of file CLI11.h.

const detail::NonexistentPathValidator pxr_CLI::CLI::NonexistentPath

Check for an non-existing path.

Definition at line 3012 of file CLI11.h.

const detail::IPV4Validator pxr_CLI::CLI::ValidIPV4

Check for an IP4 address.

Definition at line 3015 of file CLI11.h.