10 #ifndef TEUCHOS_COMMAND_LINE_PROCESSOR_HPP 
   11 #define TEUCHOS_COMMAND_LINE_PROCESSOR_HPP 
   52   {
public: 
ParseError(
const std::string& what_arg) : std::logic_error(what_arg) {}};
 
   68     ,PARSE_HELP_PRINTED            =  1 
 
   69     ,PARSE_UNRECOGNIZED_OPTION     =  2 
 
   94     bool    throwExceptions       = 
true 
   95     ,
bool   recogniseAllOptions   = 
true 
   96     ,
bool   addOutputSetupOptions = 
false 
  109   void throwExceptions( 
const bool & throwExceptions );
 
  112   bool throwExceptions() 
const;
 
  115   void recogniseAllOptions( 
const bool & recogniseAllOptions );
 
  118   bool recogniseAllOptions() 
const;
 
  121   void addOutputSetupOptions( 
const bool &addOutputSetupOptions );
 
  124   bool addOutputSetupOptions() 
const;
 
  133   void setDocString( 
const char doc_string[] );
 
  148     const char     option_true[]
 
  149     ,
const char    option_false[]
 
  151     ,
const char    documentation[] = NULL
 
  165     const char     option_name[]
 
  167     ,
const char    documentation[] = NULL
 
  168     ,
const bool    required        = 
false 
  182     const char     option_name[]
 
  183     ,
long int      *option_val
 
  184     ,
const char    documentation[] = NULL
 
  185     ,
const bool    required        = 
false 
  199     const char     option_name[]
 
  201     ,
const char    documentation[] = NULL
 
  202     ,
const bool    required        = 
false 
  216     const char     option_name[]
 
  217     ,
long long int *option_val
 
  218     ,
const char    documentation[] = NULL
 
  219     ,
const bool    required        = 
false 
  233     const char     option_name[]
 
  235     ,
const char    documentation[] = NULL
 
  236     ,
const bool    required        = 
false 
  250     const char     option_name[]
 
  252     ,
const char    documentation[] = NULL
 
  253     ,
const bool    required        = 
false 
  267     const char     option_name[]
 
  268     ,std::string   *option_val
 
  269     ,
const char    documentation[] = NULL
 
  270     ,
const bool    required        = 
false 
  301   template <
class EType>
 
  303     const char enum_option_name[],
 
  304     EType* enum_option_val,
 
  305     const int num_enum_opt_values,
 
  306     const EType  enum_opt_values[],
 
  307     const char * 
const enum_opt_names[],
 
  308     const char documentation[] = 
nullptr,
 
  309     const bool required = 
false );
 
  375   EParseCommandLineReturn  parse(
 
  378     ,std::ostream   *errout = &std::cerr
 
  394    void printHelpMessage( 
const char program_name[], std::ostream &out ) 
const;
 
  433       :opt_type(opt_type_in),opt_val(opt_val_in),required(required_in),was_read(false)
 
  449     opt_doc_t(
EOptType opt_type_in, 
const std::string& opt_name_in, 
const std::string& opt_name_false_in
 
  450             ,
const std::string &documentation_in, 
const any &default_val_in )
 
  451       :opt_type(opt_type_in),opt_name(opt_name_in),opt_name_false(opt_name_false_in)
 
  452       ,documentation(documentation_in),default_val(default_val_in)
 
  467       :enum_option_val(NULL), num_enum_opt_values(0)
 
  470       int* _enum_option_val
 
  471       ,
const int _num_enum_opt_values
 
  472       ,
const int _enum_opt_values[]
 
  473       ,
const char * 
const _enum_opt_names[]
 
  475       :enum_option_val(_enum_option_val),
 
  476        num_enum_opt_values(_num_enum_opt_values),
 
  477        enum_opt_values(_enum_opt_values,_enum_opt_values+_num_enum_opt_values)
 
  479         for( 
int k = 0; k < num_enum_opt_values; ++k )
 
  480           enum_opt_names.push_back(std::string(_enum_opt_names[k]));
 
  501 #pragma warning(push) 
  502 #pragma warning(disable:4251) 
  538   void add_extra_output_setup_options() 
const;
 
  542     const char enum_option_name[],
 
  543     int* enum_option_val,
 
  544     const int num_enum_opt_values,
 
  545     const int enum_opt_values[],
 
  546     const char * 
const enum_opt_names[],
 
  547     const char documentation[],
 
  555     ,
const std::string   &enum_opt_name
 
  557     ,
const std::string   &enum_str_val
 
  558     ,std::ostream        *errout
 
  562   void print_enum_opt_names(
 
  568   std::string enum_opt_default_val_name(
 
  569     const std::string    &enum_name
 
  571     ,std::ostream        *errout
 
  575   int find_enum_opt_index(
 
  576     const std::string           &enum_opt_name
 
  579     ,std::ostream               *errout
 
  586     ,std::string   *opt_name
 
  587     ,std::string   *opt_val_str 
 
  591   std::string opt_type_str( 
EOptType ) 
const;
 
  597     ,std::ostream   *errout
 
  641     virtual void summarize(std::ostream &out=std::cout) = 0;
 
  692 template <
class EType>
 
  695   const char enum_option_name[],
 
  696   EType* enum_option_val,
 
  697   const int num_enum_opt_values,
 
  698   const EType  enum_opt_values[],
 
  699   const char * 
const enum_opt_names[],
 
  700   const char documentation[],
 
  715     reinterpret_cast<int*>(enum_option_val),
 
  717     reinterpret_cast<const int*>(enum_opt_values),
 
  742       str = 
"long long int";
 
  766 #endif // TEUCHOS_COMMAND_LINE_PROCESSOR_HPP 
bool output_show_proc_rank_
static const bool output_all_front_matter_default_
Modified boost::any class for holding a templated value. 
Thrown if –help was specified and throwExceptions==true. 
std::vector< enum_opt_data_t > enum_opt_data_list_t
int output_to_root_rank_only_
Teuchos::map< std::string, opt_val_val_t > options_list_t
static const bool show_timer_summary_on_exit_default_
HelpPrinted(const std::string &what_arg)
Template classes for testing assertions at compile time. 
bool throwExceptions() const 
Returns true if an std::exception is thrown, there is a parse error, or help is printed. 
bool recogniseAllOptions_
bool in_add_extra_output_setup_options_
std::vector< opt_doc_t > options_documentation_list_t
virtual ~TimeMonitorSurrogate()
! brief. 
opt_val_val_t(EOptType opt_type_in, const any &opt_val_in, bool required_in)
Modified boost::any class, which is a container for a templated value. 
enum_opt_data_list_t enum_opt_data_list_
std::string documentation
void setEnumOption(const char enum_option_name[], int *enum_option_val, const int num_enum_opt_values, const int enum_opt_values[], const char *const enum_opt_names[], const char documentation[], const bool required)
Thrown if an unrecognized option was found and throwExceptions==true. 
options_documentation_list_t options_documentation_list_
static const bool output_show_tab_count_default_
static const bool output_show_proc_rank_default_
static const bool output_show_line_prefix_default_
void setOption(const char option_true[], const char option_false[], bool *option_val, const char documentation[]=NULL)
Set a boolean option. 
static const int output_to_root_rank_only_default_
#define TEUCHOSCORE_LIB_DLL_EXPORT
UnrecognizedOption(const std::string &what_arg)
std::string opt_type_str(EOptType) const 
Interface by which CommandLineProcessor may use TimeMonitor. 
bool output_show_tab_count_
bool output_all_front_matter_
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)
bool addOutputSetupOptions() const 
Returns true options will be automatically added to setup Teuchos::VerboseObjectBase::getDefaultOStre...
static const bool print_rcpnode_statistics_on_exit_default_
ParseError(const std::string &what_arg)
Provides std::map class for deficient platforms. 
std::vector< std::string > enum_opt_names
EParseCommandLineReturn
Return value for CommandLineProcessor::parse(). Note: These enums are all given non-negative values s...
static const bool print_system_info_default_
bool printed_timer_summary_
options_list_t options_list_
bool addOutputSetupOptions_
bool show_timer_summary_on_exit_
bool print_rcpnode_statistics_on_exit_
bool recogniseAllOptions() const 
Returns true if all options must be recognized by the parser. 
bool output_show_line_prefix_
Smart reference counting pointer class for automatic garbage collection. 
If instantiated (for Test!=0) then this should not compile! 
bool added_extra_output_setup_options_
Thrown if a parse std::exception occurs and throwExceptions==true. 
enum_opt_data_t(int *_enum_option_val, const int _num_enum_opt_values, const int _enum_opt_values[], const char *const _enum_opt_names[])
Class that helps parse command line input arguments from (argc,argv[]) and set options. 
std::vector< int > enum_opt_values
std::string opt_name_false
Simple wrapper class for raw pointers to single objects where no persisting relationship exists...