qpid::Options Struct Reference

Base class for options. More...

#include <Options.h>

Inheritance diagram for qpid::Options:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 Options (const std::string &name=std::string())
void parse (int argc, char **argv, const std::string &configfile=std::string(), bool allowUnknown=false)
 Parses options from argc/argv, environment variables and config file.
boost::program_options::options_description_easy_init addOptions ()


Detailed Description

Base class for options.

Example of use:

 struct MySubOptions : public Options {
   int x;
   string y;
   MySubOptions() : Options("Sub options") {
     addOptions()
     ("x", optValue(x,"XUNIT"), "Option X")
     ("y", optValue(y, "YUNIT"), "Option Y");
   }
 };
 
 struct MyOptions : public Options {
   bool z;
   vector<string> foo;
   MySubOptions subOptions;
   MyOptions() : Options("My Options") {
    addOptions()
      ("z", boolSwitch(z), "Option Z")
      ("foo", optValue(foo), "Multiple option foo");
    add(subOptions);
 }

 main(int argc, char** argv) {
   Options opts;
   opts.parse(argc, char** argv);
   // Use values
   dosomething(opts.subOptions.x);
   if (error)
     cout << opts << end;       // Help message.
 }

Member Function Documentation

void qpid::Options::parse ( int  argc,
char **  argv,
const std::string &  configfile = std::string(),
bool  allowUnknown = false 
)

Parses options from argc/argv, environment variables and config file.

Note the filename argument can reference an options variable that is updated by argc/argv or environment variable parsing.


The documentation for this struct was generated from the following file:

Generated on Thu May 15 22:22:21 2008 for Qpid by  doxygen 1.5.5