Limbo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
limbo::programoptions::ProgramOptions Class Reference

top API to parse program options More...

#include <ProgramOptions.h>

Public Types

typedef std::map< std::string,
unsigned > 
cat2index_map_type
 mapping from category to index
 

Public Member Functions

 ProgramOptions (std::string const &title="Available options")
 constructor More...
 
 ProgramOptions (ProgramOptions const &rhs)
 copy constructor More...
 
 ~ProgramOptions ()
 destructor
 
template<typename ValueType >
ProgramOptionsadd_option (ValueType const &data)
 generic API to add options of various data types More...
 
bool parse (int argc, char **argv)
 read command line options More...
 
bool count (std::string const &cat) const
 
void print () const
 print help message
 
void print (std::ostream &os) const
 print help message More...
 

Protected Member Functions

void print_space (std::ostream &os, unsigned num) const
 print a specific number of spaces
 

Protected Attributes

std::map< std::string, unsigned > m_mCat2Index
 saving mapping for flag to option
 
std::vector< ValueBase * > m_vData
 saving options
 
std::string m_title
 title of options
 

Friends

std::ostream & operator<< (std::ostream &os, ProgramOptions const &rhs)
 print help message by override operator<< More...
 

Detailed Description

top API to parse program options

Definition at line 457 of file ProgramOptions.h.

Constructor & Destructor Documentation

limbo::programoptions::ProgramOptions::ProgramOptions ( std::string const &  title = "Available options")
inline

constructor

Parameters
titletitle to display in help message

Definition at line 532 of file ProgramOptions.h.

limbo::programoptions::ProgramOptions::ProgramOptions ( ProgramOptions const &  rhs)

copy constructor

Parameters
rhsthe other object

Member Function Documentation

template<typename ValueType >
ProgramOptions & limbo::programoptions::ProgramOptions::add_option ( ValueType const &  data)

generic API to add options of various data types

Template Parameters
ValueTypedata type
Parameters
dataexcept instantiations of limbo::programoptions::Value

Definition at line 537 of file ProgramOptions.h.

bool limbo::programoptions::ProgramOptions::count ( std::string const &  cat) const
Returns
true if the option is set by command
bool limbo::programoptions::ProgramOptions::parse ( int  argc,
char **  argv 
)

read command line options

Parameters
argcnumber of options
argvvalues of options
void limbo::programoptions::ProgramOptions::print ( std::ostream &  os) const

print help message

Parameters
osoutput stream

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
ProgramOptions const &  rhs 
)
friend

print help message by override operator<<

Parameters
osoutput stream
rhsthe object
Returns
reference to os

Definition at line 512 of file ProgramOptions.h.


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