130 void addCallExample(
const std::string& example,
const std::string& desc);
182 const bool complete,
const bool addComments,
183 const bool inComment =
false)
const;
204 void writeXMLHeader(std::ostream& os,
const bool includeConfig =
true)
const;
249 void addSynonyme(
const std::string& name1,
const std::string& name2,
bool isDeprecated =
false);
257 void addXMLDefault(
const std::string& name,
const std::string& xmlRoot =
"");
273 void addDescription(
const std::string& name,
const std::string& subtopic,
274 const std::string& description);
286 bool exists(
const std::string& name)
const;
304 bool isSet(
const std::string& name,
bool failOnNonExistant =
true)
const;
311 void unSet(
const std::string& name,
bool failOnNonExistant =
true)
const;
327 bool isDefault(
const std::string& name)
const;
339 bool isBool(
const std::string& name)
const;
394 std::vector<std::string>
getSynonymes(
const std::string& name)
const;
435 std::string
getString(
const std::string& name)
const;
448 double getFloat(
const std::string& name)
const;
461 int getInt(
const std::string& name)
const;
474 bool getBool(
const std::string& name)
const;
518 std::vector<std::string>
getStringVector(
const std::string& name)
const;
539 const std::string& itemName);
567 bool set(
const std::string& name,
const std::string& value);
588 bool setDefault(
const std::string& name,
const std::string& value);
659 return std::vector<std::string>();
716 void splitLines(std::ostream& os, std::string what,
717 int offset,
int nextOffset);
std::string myAppName
some information on the application
void doRegister(const std::string &name, Option *v)
Adds an option under the given name.
std::vector< std::string > mySubTopics
lists of option subtopics and copyright notices
void reportDoubleSetting(const std::string &arg) const
Reports an error that the option has already been set.
int getInt(const std::string &name) const
Returns the int-value of the named option (only for Option_Integer)
void resetWritable()
Resets all options to be writeable.
std::vector< double > FloatVector
Definition of a vector of doubles.
void addCopyrightNotice(const std::string ©rightLine)
Adds a copyright notice to the help output.
bool isInStringVector(const std::string &optionName, const std::string &itemName)
Returns the named option is a list of string values containing the specified item.
const std::vector< std::string > & getSubTopics() const
return the list of subtopics
void addCallExample(const std::string &example, const std::string &desc)
Add a call example.
std::vector< Option * > ItemAddressContType
void setApplicationDescription(const std::string &appDesc)
Sets the application description.
void clearCopyrightNotices()
Removes all copyright information.
void printHelp(std::ostream &os)
Prints the help.
bool myHaveInformedAboutDeprecatedDivider
Information whether a warning a deprecated divider.
void splitLines(std::ostream &os, std::string what, int offset, int nextOffset)
Writes the given string 'formatted'.
static OptionsCont myOptions
The static options container used.
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
bool isDefault(const std::string &name) const
Returns the information whether the named option has still the default value.
void writeXMLHeader(std::ostream &os, const bool includeConfig=true) const
Writes a standard XML header, including the configuration.
std::map< std::string, std::string > myXMLDefaults
A map from XML root element to option.
const FloatVector & getFloatVector(const std::string &name) const
Returns the list of double-value of the named option (only for Option_FloatVector) ...
static OptionsCont & getOptions()
Retrieves the options.
void writeConfiguration(std::ostream &os, const bool filled, const bool complete, const bool addComments, const bool inComment=false) const
Writes the configuration.
std::string getTypeName(const std::string name)
return the type name for the given option
void addSynonyme(const std::string &name1, const std::string &name2, bool isDeprecated=false)
Adds a synonyme for an options name (any order)
std::string myAppDescription
ItemAddressContType myAddresses
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.
bool setByRootElement(const std::string &name, const std::string &value)
Sets the given value for the option which can handle the given XML root.
std::map< std::string, bool > myDeprecatedSynonymes
A map from deprecated options to a bool indicating whether we warned about deprecation.
void clear()
Removes all information from the container.
std::string myAdditionalMessage
std::vector< int > IntVector
Definition of a vector of ints.
bool isUsableFileList(const std::string &name) const
Checks whether the named option is usable as a file list (with at least a single file) ...
bool setDefault(const std::string &name, const std::string &value)
Sets the given value for the named option as new default value.
void setAdditionalHelpMessage(const std::string &add)
Sets an additional message to be printed at the begin of the help screen.
Option * getSecure(const std::string &name) const
Returns the named option.
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
bool processMetaOptions(bool missingOptions)
Checks for help and configuration output, returns whether we should exit.
bool exists(const std::string &name) const
Returns the information whether the named option is known.
std::vector< std::string > getStringVector(const std::string &name) const
Returns the list of string-vector-value of the named option (only for Option_String) ...
bool isBool(const std::string &name) const
Returns the information whether the option is a boolean option.
~OptionsCont()
Destructor.
bool isWriteable(const std::string &name)
Returns the information whether the named option may be set.
void addOptionSubTopic(const std::string &topic)
Adds an option subtopic.
double getFloat(const std::string &name) const
Returns the double-value of the named option (only for Option_Float)
void relocateFiles(const std::string &configuration) const
Modifies file name options according to the configuration path.
const std::string & getDescription(const std::string &name) const
Returns the option description.
A class representing a single program option.
bool checkDependingSuboptions(const std::string &name, const std::string &prefix) const
Checks whether an option is set, which has options with a prefix depending on it. ...
bool myWriteLicense
Information whether we should always include license information in file headers. ...
std::vector< std::string > getSynonymes(const std::string &name) const
Returns the synonymes of an option name.
void addXMLDefault(const std::string &name, const std::string &xmlRoot="")
Adds an XML root element to handle by default. The special root "" denotes the default handler...
const IntVector & getIntVector(const std::string &name) const
Returns the list of integer-value of the named option (only for Option_IntVector) ...
void unSet(const std::string &name, bool failOnNonExistant=true) const
Marks the option as unset.
std::vector< std::string > getSubTopicsEntries(const std::string &subtopic) const
return the list of entries for the given subtopic
std::map< std::string, std::vector< std::string > > mySubTopicEntries
A map from subtopic to option.
friend std::ostream & operator<<(std::ostream &os, const OptionsCont &oc)
Output operator.
virtual const std::string & getTypeName() const
Returns the mml-type name of this option.
A storage for options typed value containers)
void writeSchema(std::ostream &os)
Writes the xml schema for the configuration.
std::vector< std::string > myCopyrightNotices
const std::string & getFullName() const
OptionsCont & operator=(const OptionsCont &s)
std::string convertChar(char abbr) const
Converts an abbreviation into a name.
void addDescription(const std::string &name, const std::string &subtopic, const std::string &description)
Adds a description for an option.
std::map< std::string, Option * > KnownContType
OptionsCont()
Constructor.
std::vector< std::pair< std::string, std::string > > myCallExamples
list of call examples
void setApplicationName(const std::string &appName, const std::string &fullName)
Sets the application name.