|
Sierra Toolkit
Version of the Day
|
1 #ifndef STK_UTIL_DIAG_Option_h
2 #define STK_UTIL_DIAG_Option_h
11 typedef unsigned long OptionMask;
37 virtual std::ostream &
describe(std::ostream &os)
const = 0;
81 Option(
const std::string &name,
const std::string &env_name,
const std::string &value = std::string(),
82 const std::string &description =
"No description available",
131 const std::string &getName()
const {
135 const std::string &getValue()
const {
149 virtual std::ostream &
describe(std::ostream &os)
const;
151 operator std::string &() {
186 OptionMaskName(
const std::string &name,
const OptionMask &mask,
const std::string &description =
"No description available")
189 m_description(description)
206 return m_name < o.m_name;
215 virtual std::ostream &
describe(std::ostream &os)
const;
219 std::string m_description;
237 void mask(
const std::string &name,
const OptionMask l_mask,
const std::string &description) {
238 iterator it =
find(name);
242 (*it).second.m_mask = l_mask;
243 (*it).second.m_description = description;
303 virtual void parseArg(
const std::string &name,
const std::string &arg)
const;
332 void mask(
const std::string &name,
const Mask l_mask,
const std::string &description) {
342 std::ostream &
describe(std::ostream &os)
const;
354 typedef stk_classic::diag::OptionMask OptionMask;
362 #endif // STK_UTIL_DIAG_Option_h
OptionMask Mask
Mask for this option.
std::ostream & describe(std::ostream &os) const
Class Option holds the command line name, environment variable name and the current value of an optio...
std::string m_value
Value of option.
bool operator<(const OptionMaskName &o) const
Member function < ...
virtual std::ostream & describe(std::ostream &os) const
Member function describe prints a description of the option to the stream.
OptionMask m_optionMask
Most recently parsed mask.
virtual ~OptionMaskParser()
const OptionDescription * m_subOptionDescription
Suboptions (used for '-h' parsing)
std::string m_envName
Environment variable name.
Class OptionDescription is an interface class for describing a command line option or option value.
virtual void parseArg(const std::string &name, const std::string &arg) const
bool insert(PartVector &v, Part &part)
Insert a part into a properly ordered collection of parts. Returns true if this is a new insertion.
virtual std::ostream & describe(std::ostream &os) const
Member function describe ...
Option(const Option &option)
bool m_status
Result of most recent parse.
void mask(const std::string &name, const Mask l_mask, const std::string &description)
OptionMaskName(const std::string &name, const OptionMask &mask, const std::string &description="No description available")
virtual Mask parse(const char *mask) const
std::string m_name
Name/Command line option name.
void mask(const std::string &name, const OptionMask l_mask, const std::string &description)
Member function mask ...
virtual std::ostream & describe(std::ostream &os) const =0
Member function describe prints a description of the option to the stream.
Option(const std::string &name, const std::string &env_name, const std::string &value=std::string(), const std::string &description="No description available", const OptionDescription *sub_option_description=0)
OptionMaskNameMap m_optionMaskNameMap
Mask name vector.
Part * find(const PartVector &parts, const std::string &name)
Find a part by name in a collection of parts.
Class OptionMaskNameMap ...
virtual ~OptionDescription()
Option & operator=(const Option &option)
Member function operator= assigns an option from another option.
std::string m_description
Brief '-h' description.
virtual ~OptionMaskName()
Mask & operator[](const std::string &name)