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 Mask & operator[](const std::string &name)
Option(const Option &option)
Class OptionMaskNameMap ...
bool operator<(const OptionMaskName &o) const
Member function < ...
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)
std::string m_name
Name/Command line option name.
virtual std::ostream & describe(std::ostream &os) const =0
Member function describe prints a description of the option to the stream.
std::string m_envName
Environment variable name.
OptionMaskNameMap m_optionMaskNameMap
Mask name vector.
virtual void parseArg(const std::string &name, const std::string &arg) const
virtual std::ostream & describe(std::ostream &os) const
Member function describe ...
void mask(const std::string &name, const Mask l_mask, const std::string &description)
OptionMask m_optionMask
Most recently parsed mask.
void mask(const std::string &name, const OptionMask l_mask, const std::string &description)
Member function mask ...
virtual Mask parse(const char *mask) const
OptionMaskName(const std::string &name, const OptionMask &mask, const std::string &description="No description available")
virtual ~OptionMaskName()
virtual ~OptionMaskParser()
bool m_status
Result of most recent parse.
const OptionDescription * m_subOptionDescription
Suboptions (used for '-h' parsing)
std::string m_value
Value of option.
Class Option holds the command line name, environment variable name and the current value of an optio...
std::string m_description
Brief '-h' description.
OptionMask Mask
Mask for this option.
virtual ~OptionDescription()
std::ostream & describe(std::ostream &os) const
Part * find(const PartVector &parts, const std::string &name)
Find a part by name in a collection of parts.
Option & operator=(const Option &option)
Member function operator= assigns an option from another option.
Class OptionDescription is an interface class for describing a command line option or option value...
virtual std::ostream & describe(std::ostream &os) const
Member function describe prints a description of the option to the stream.
bool insert(PartVector &v, Part &part)
Insert a part into a properly ordered collection of parts. Returns true if this is a new insertion...