Limbo 3.5.4
Loading...
Searching...
No Matches
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
 ProgramOptions (ProgramOptions const &rhs)
 copy constructor
 ~ProgramOptions ()
 destructor
template<typename ValueType>
ProgramOptionsadd_option (ValueType const &data)
 generic API to add options of various data types
bool parse (int argc, char **argv)
 read command line options
bool count (std::string const &cat) const
void print () const
 print help message
void print (std::ostream &os) const
 print help message

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<<

Detailed Description

top API to parse program options

Definition at line 457 of file ProgramOptions.h.

Member Typedef Documentation

◆ cat2index_map_type

typedef std::map<std::string, unsigned> limbo::programoptions::ProgramOptions::cat2index_map_type

mapping from category to index

Definition at line 461 of file ProgramOptions.h.

Constructor & Destructor Documentation

◆ ProgramOptions() [1/2]

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.

◆ ProgramOptions() [2/2]

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

copy constructor

Parameters
rhsthe other object

Member Function Documentation

◆ add_option()

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.

◆ count()

bool limbo::programoptions::ProgramOptions::count ( std::string const & cat) const
Returns
true if the option is set by command

◆ parse()

bool limbo::programoptions::ProgramOptions::parse ( int argc,
char ** argv )

read command line options

Parameters
argcnumber of options
argvvalues of options

◆ print() [1/2]

void limbo::programoptions::ProgramOptions::print ( ) const
inline

print help message

Definition at line 500 of file ProgramOptions.h.

◆ print() [2/2]

void limbo::programoptions::ProgramOptions::print ( std::ostream & os) const

print help message

Parameters
osoutput stream

◆ print_space()

void limbo::programoptions::ProgramOptions::print_space ( std::ostream & os,
unsigned num ) const
inlineprotected

print a specific number of spaces

Definition at line 521 of file ProgramOptions.h.

◆ operator<<

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.

Member Data Documentation

◆ m_mCat2Index

std::map<std::string, unsigned> limbo::programoptions::ProgramOptions::m_mCat2Index
protected

saving mapping for flag to option

Definition at line 527 of file ProgramOptions.h.

◆ m_title

std::string limbo::programoptions::ProgramOptions::m_title
protected

title of options

Definition at line 529 of file ProgramOptions.h.

◆ m_vData

std::vector<ValueBase*> limbo::programoptions::ProgramOptions::m_vData
protected

saving options

Definition at line 528 of file ProgramOptions.h.


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