class Poco::Util::HelpFormatter
Overview
This class formats a help message from an OptionSet. More…
#include <HelpFormatter.h> class HelpFormatter { public: // construction HelpFormatter(const OptionSet& options); // methods void setCommand(const std::string& command); const std::string& getCommand() const; void setUsage(const std::string& usage); const std::string& getUsage() const; void setHeader(const std::string& header); const std::string& getHeader() const; void setFooter(const std::string& footer); const std::string& getFooter() const; void format(std::ostream& ostr) const; void setWidth(int width); int getWidth() const; void setIndent(int indent); int getIndent() const; void setAutoIndent(); void setUnixStyle(bool flag); bool isUnixStyle() const; std::string shortPrefix() const; std::string longPrefix() const; protected: // methods int calcIndent() const; void formatOptions(std::ostream& ostr) const; void formatOption( std::ostream& ostr, const Option& option, int width ) const; void formatText( std::ostream& ostr, const std::string& text, int indent ) const; void formatText( std::ostream& ostr, const std::string& text, int indent, int firstIndent ) const; void formatWord( std::ostream& ostr, int& pos, const std::string& word, int indent ) const; void clearWord( std::ostream& ostr, int& pos, std::string& word, int indent ) const; };
Detailed Documentation
This class formats a help message from an OptionSet.
Construction
HelpFormatter(const OptionSet& options)
Creates the HelpFormatter, using the given options.
The HelpFormatter just stores a reference to the given OptionSet, so the OptionSet must not be destroyed during the lifetime of the HelpFormatter.
Methods
void setCommand(const std::string& command)
Sets the command name.
const std::string& getCommand() const
Returns the command name.
void setUsage(const std::string& usage)
Sets the usage string.
const std::string& getUsage() const
Returns the usage string.
void setHeader(const std::string& header)
Sets the header string.
const std::string& getHeader() const
Returns the header string.
void setFooter(const std::string& footer)
Sets the footer string.
const std::string& getFooter() const
Returns the footer string.
void format(std::ostream& ostr) const
Writes the formatted help text to the given stream.
void setWidth(int width)
Sets the line width for the formatted help text.
int getWidth() const
Returns the line width for the formatted help text.
The default width is 72.
void setIndent(int indent)
Sets the indentation for description continuation lines.
int getIndent() const
Returns the indentation for description continuation lines.
void setAutoIndent()
Sets the indentation for description continuation lines so that the description text is left-aligned.
void setUnixStyle(bool flag)
Enables Unix-style options.
Both short and long option names are printed if Unix-style is set. Otherwise, only long option names are printed.
After calling setUnixStyle(), setAutoIndent() should be called as well to ensure proper help text formatting.
bool isUnixStyle() const
Returns if Unix-style options are set.
std::string shortPrefix() const
Returns the platform-specific prefix for short options.
“-” on Unix, “/” on Windows and OpenVMS.
std::string longPrefix() const
Returns the platform-specific prefix for long options.
“–” on Unix, “/” on Windows and OpenVMS.
int calcIndent() const
Calculates the indentation for the option descriptions from the given options.
void formatOptions(std::ostream& ostr) const
Formats all options.
void formatOption( std::ostream& ostr, const Option& option, int width ) const
Formats an option, using the platform-specific prefixes.
void formatText( std::ostream& ostr, const std::string& text, int indent ) const
Formats the given text.
void formatText( std::ostream& ostr, const std::string& text, int indent, int firstIndent ) const
Formats the given text.
void formatWord( std::ostream& ostr, int& pos, const std::string& word, int indent ) const
Formats the given word.
void clearWord( std::ostream& ostr, int& pos, std::string& word, int indent ) const
Formats and then clears the given word.