vul_arg< T > Class Template Reference

#include <vul_arg.h>

Inheritance diagram for vul_arg< T >:

vul_arg_base List of all members.

Detailed Description

template<class T>
class vul_arg< T >

parse command-line arguments.

Definition at line 122 of file vul_arg.h.


Public Member Functions

 vul_arg (char const *option_string=0, char const *helpstring=0, T default_value=T())
 Construct an vul_arg<T> with command-line switch and default value.
 vul_arg (vul_arg_info_list &l, char const *option_string=0, char const *helpstring=0, T default_value=T())
 As above, but add the arg to the list l, on which parse() can be called later.
T & operator() ()
 return the arg's current value, whether the default or the one from the command line.
T const & operator() () const
int parse (char **argv)
 returns number of args chomped, or -1 on failure.
vcl_ostream & print_value (vcl_ostream &s)
 print.
char const * option ()
char const * help ()
bool set () const
 Returns true if arg was set on the command line.

Static Public Member Functions

static void parse_deprecated (int &argc, char **&argv, bool warn_about_unrecognized_arguments=true)
 The main static method.
static void include_deprecated (vul_arg_info_list &l)
 Add another vul_arg_info_list to the current one.
static void add_to_current (vul_arg_base *a)
static void set_help_option (char const *str)
static void set_help_description (char const *str)
static void set_help_precis (char const *str)
static void display_usage (char const *msg=0)
static void display_usage_and_exit (char const *msg=0)

Public Attributes

value_
char const * type_
 Static text describing type of option (e.g. bool or double).

Protected Attributes

bool set_
 After parsing, true iff value was set on command line.
vcl_string option_
 Option flag including "-" or "--".
vcl_string help_
 Description of argument.

Private Member Functions

void settype ()

Friends

class vul_arg_info_list

Constructor & Destructor Documentation

template<class T>
vul_arg< T >::vul_arg ( char const *  option_string = 0,
char const *  helpstring = 0,
default_value = T() 
) [inline]

Construct an vul_arg<T> with command-line switch and default value.

Command line switch option_string, and default value default_value. Add this argument to the global list of arguments that vul_arg_base::parse() uses when it eventually gets the command line.

If option_string is null, then the argument is assigned to the first plain word in the command line (warning: this causes problems for T=char *, but that just means that you have to have a help string if you want a default... good)

Definition at line 137 of file vul_arg.h.

template<class T>
vul_arg< T >::vul_arg ( vul_arg_info_list l,
char const *  option_string = 0,
char const *  helpstring = 0,
default_value = T() 
) [inline]

As above, but add the arg to the list l, on which parse() can be called later.

Definition at line 144 of file vul_arg.h.


Member Function Documentation

template<class T>
T& vul_arg< T >::operator() (  )  [inline]

return the arg's current value, whether the default or the one from the command line.

Definition at line 152 of file vul_arg.h.

template<class T>
T const& vul_arg< T >::operator() (  )  const [inline]

Definition at line 153 of file vul_arg.h.

template<class T>
int vul_arg< T >::parse ( char **  argv  )  [inline, virtual]

returns number of args chomped, or -1 on failure.

Implements vul_arg_base.

Definition at line 157 of file vul_arg.h.

template<class T>
vcl_ostream& vul_arg< T >::print_value ( vcl_ostream &  s  )  [inline, virtual]

print.

Implements vul_arg_base.

Definition at line 160 of file vul_arg.h.

template<class T>
void vul_arg< T >::settype (  )  [inline, private]

Definition at line 166 of file vul_arg.h.

void vul_arg_base::parse_deprecated ( int &  argc,
char **&  argv,
bool  warn_about_unrecognized_arguments = true 
) [static, inherited]

The main static method.

Definition at line 92 of file vul_arg.cxx.

void vul_arg_base::include_deprecated ( vul_arg_info_list l  )  [static, inherited]

Add another vul_arg_info_list to the current one.

This allows for the inclusion of different sets of arguments into the main program, from different libraries.

Definition at line 80 of file vul_arg.cxx.

void vul_arg_base::add_to_current ( vul_arg_base a  )  [static, inherited]

Definition at line 86 of file vul_arg.cxx.

void vul_arg_base::set_help_option ( char const *  str  )  [static, inherited]

Definition at line 97 of file vul_arg.cxx.

void vul_arg_base::set_help_description ( char const *  str  )  [static, inherited]

Definition at line 107 of file vul_arg.cxx.

void vul_arg_base::set_help_precis ( char const *  str  )  [static, inherited]

Definition at line 102 of file vul_arg.cxx.

void vul_arg_base::display_usage ( char const *  msg = 0  )  [static, inherited]

Definition at line 112 of file vul_arg.cxx.

void vul_arg_base::display_usage_and_exit ( char const *  msg = 0  )  [static, inherited]

Definition at line 118 of file vul_arg.cxx.

char const * vul_arg_base::option (  )  [inherited]

Definition at line 40 of file vul_arg.cxx.

char const * vul_arg_base::help (  )  [inherited]

Definition at line 43 of file vul_arg.cxx.

bool vul_arg_base::set (  )  const [inherited]

Returns true if arg was set on the command line.

Definition at line 68 of file vul_arg.cxx.


Friends And Related Function Documentation

friend class vul_arg_info_list [friend, inherited]

Definition at line 47 of file vul_arg.h.


Member Data Documentation

template<class T>
T vul_arg< T >::value_

Definition at line 125 of file vul_arg.h.

char const* vul_arg_base::type_ [inherited]

Static text describing type of option (e.g. bool or double).

Definition at line 61 of file vul_arg.h.

bool vul_arg_base::set_ [protected, inherited]

After parsing, true iff value was set on command line.

Definition at line 64 of file vul_arg.h.

vcl_string vul_arg_base::option_ [protected, inherited]

Option flag including "-" or "--".

Definition at line 66 of file vul_arg.h.

vcl_string vul_arg_base::help_ [protected, inherited]

Description of argument.

Definition at line 68 of file vul_arg.h.


The documentation for this class was generated from the following file:
Generated on Mon Mar 8 05:09:58 2010 for core/vul by  doxygen 1.5.1