42#ifndef TEUCHOS_COMMAND_LINE_PROCESSOR_HPP
43#define TEUCHOS_COMMAND_LINE_PROCESSOR_HPP
100 ,PARSE_HELP_PRINTED = 1
101 ,PARSE_UNRECOGNIZED_OPTION = 2
126 bool throwExceptions =
true
127 ,
bool recogniseAllOptions =
true
128 ,
bool addOutputSetupOptions =
false
141 void throwExceptions(
const bool & throwExceptions );
144 bool throwExceptions()
const;
147 void recogniseAllOptions(
const bool & recogniseAllOptions );
150 bool recogniseAllOptions()
const;
153 void addOutputSetupOptions(
const bool &addOutputSetupOptions );
156 bool addOutputSetupOptions()
const;
183 ,
const char documentation[] =
NULL
199 ,
const char documentation[] =
NULL
200 ,
const bool required =
false
216 ,
const char documentation[] =
NULL
217 ,
const bool required =
false
233 ,
const char documentation[] =
NULL
234 ,
const bool required =
false
250 ,
const char documentation[] =
NULL
251 ,
const bool required =
false
267 ,
const char documentation[] =
NULL
268 ,
const bool required =
false
284 ,
const char documentation[] =
NULL
285 ,
const bool required =
false
301 ,
const char documentation[] =
NULL
302 ,
const bool required =
false
333 template <
class EType>
336 ,
EType *enum_option_val
337 ,
const int num_enum_opt_values
338 ,
const EType enum_opt_values[]
339 ,
const char* enum_opt_names[]
340 ,
const char documentation[] =
NULL
341 ,
const bool required =
false
408 EParseCommandLineReturn parse(
411 ,std::ostream *
errout = &std::cerr
427 void printHelpMessage(
const char program_name[], std::ostream &out )
const;
440 enum EOptType { OPT_NONE, OPT_BOOL_TRUE, OPT_BOOL_FALSE, OPT_INT, OPT_LONG_INT, OPT_SIZE_T,
500 :enum_option_val(
NULL), num_enum_opt_values(0)
512 for(
int k = 0;
k < num_enum_opt_values; ++
k )
535#pragma warning(disable:4251)
569 void add_extra_output_setup_options()
const;
574 ,
int *enum_option_val
575 ,
const int num_enum_opt_values
576 ,
const int enum_opt_values[]
577 ,
const char* enum_opt_names[]
578 ,
const char documentation[]
593 void print_enum_opt_names(
599 std::string enum_opt_default_val_name(
606 int find_enum_opt_index(
617 ,std::string *opt_name
622 std::string opt_type_str(
EOptType )
const;
672 virtual void summarize(std::ostream &out=std::cout) = 0;
723template <
class EType>
727 ,
EType *enum_option_val
728 ,
const int num_enum_opt_values
729 ,
const EType enum_opt_values[]
730 ,
const char* enum_opt_names[]
731 ,
const char documentation[]
746 ,
reinterpret_cast<int*
>(enum_option_val)
748 ,
reinterpret_cast<const int*
>(enum_opt_values)
774 str =
"long long int";
Template classes for testing assertions at compile time.
#define TEUCHOSCORE_LIB_DLL_EXPORT
Modified boost::any class for holding a templated value.
Provides std::map class for deficient platforms.
Thrown if –help was specified and throwExceptions==true.
HelpPrinted(const std::string &what_arg)
Thrown if a parse std::exception occurs and throwExceptions==true.
ParseError(const std::string &what_arg)
Interface by which CommandLineProcessor may use TimeMonitor.
virtual ~TimeMonitorSurrogate()
! brief.
virtual void summarize(std::ostream &out=std::cout)=0
Summarize timings over all process(es) to the given output stream.
Thrown if an unrecognized option was found and throwExceptions==true.
UnrecognizedOption(const std::string &what_arg)
Class that helps parse command line input arguments from (argc,argv[]) and set options.
bool recogniseAllOptions_
bool output_show_proc_rank_
static const bool output_all_front_matter_default_
bool output_show_tab_count_
static const bool show_timer_summary_on_exit_default_
bool show_timer_summary_on_exit_
bool throwExceptions() const
Returns true if an std::exception is thrown, there is a parse error, or help is printed.
void setEnumOption(const char enum_option_name[], int *enum_option_val, const int num_enum_opt_values, const int enum_opt_values[], const char *enum_opt_names[], const char documentation[], const bool required)
void setOption(const char option_true[], const char option_false[], bool *option_val, const char documentation[]=NULL)
Set a boolean option.
bool output_all_front_matter_
EParseCommandLineReturn
Return value for CommandLineProcessor::parse(). Note: These enums are all given non-negative values s...
enum_opt_data_list_t enum_opt_data_list_
options_documentation_list_t options_documentation_list_
int output_to_root_rank_only_
bool addOutputSetupOptions() const
Returns true options will be automatically added to setup Teuchos::VerboseObjectBase::getDefaultOStre...
static const bool output_show_line_prefix_default_
static const int output_to_root_rank_only_default_
static const bool output_show_tab_count_default_
std::vector< opt_doc_t > options_documentation_list_t
static const bool print_rcpnode_statistics_on_exit_default_
bool added_extra_output_setup_options_
std::vector< enum_opt_data_t > enum_opt_data_list_t
static const bool output_show_proc_rank_default_
bool addOutputSetupOptions_
Teuchos::map< std::string, opt_val_val_t > options_list_t
bool output_show_line_prefix_
bool printed_timer_summary_
bool print_rcpnode_statistics_on_exit_
options_list_t options_list_
std::string opt_type_str(EOptType) const
bool recogniseAllOptions() const
Returns true if all options must be recognized by the parser.
bool in_add_extra_output_setup_options_
If instantiated (for Test!=0) then this should not compile!
Concrete serial communicator subclass.
Modified boost::any class, which is a container for a templated value.
enum_opt_data_t(int *_enum_option_val, const int _num_enum_opt_values, const int _enum_opt_values[], const char *_enum_opt_names[])
std::vector< std::string > enum_opt_names
std::vector< int > enum_opt_values
opt_doc_t(EOptType opt_type_in, const std::string &opt_name_in, const std::string &opt_name_false_in, const std::string &documentation_in, const any &default_val_in)
std::string documentation
std::string opt_name_false
opt_val_val_t(EOptType opt_type_in, const any &opt_val_in, bool required_in)