File Information
Library: Util
Package: Options
Header: Poco/Util/HelpFormatter.h
Description
This class formats a help message from an OptionSet.
Member Summary
Member Functions: calcIndent, clearWord, format, formatOption, formatOptions, formatText, formatWord, getCommand, getFooter, getHeader, getIndent, getUsage, getWidth, isUnixStyle, longPrefix, setAutoIndent, setCommand, setFooter, setHeader, setIndent, setUnixStyle, setUsage, setWidth, shortPrefix
Constructors
HelpFormatter
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.
Destructor
~HelpFormatter
~HelpFormatter();
Destroys the HelpFormatter.
Member Functions
format
void format(
std::ostream & ostr
) const;
Writes the formatted help text to the given stream.
getCommand
const std::string & getCommand() const;
Returns the command name.
getFooter
const std::string & getFooter() const;
Returns the footer string.
getHeader
const std::string & getHeader() const;
Returns the header string.
getIndent
int getIndent() const;
Returns the indentation for description continuation lines.
getUsage
const std::string & getUsage() const;
Returns the usage string.
getWidth
int getWidth() const;
Returns the line width for the formatted help text.
The default width is 72.
isUnixStyle
bool isUnixStyle() const;
Returns if Unix-style options are set.
longPrefix
std::string longPrefix() const;
Returns the platform-specific prefix for long options. "--" on Unix, "/" on Windows and OpenVMS.
setAutoIndent
void setAutoIndent();
Sets the indentation for description continuation lines so that the description text is left-aligned.
setCommand
void setCommand(
const std::string & command
);
Sets the command name.
setFooter
void setFooter(
const std::string & footer
);
Sets the footer string.
setHeader
void setHeader(
const std::string & header
);
Sets the header string.
setIndent
void setIndent(
int indent
);
Sets the indentation for description continuation lines.
setUnixStyle
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.
setUsage
void setUsage(
const std::string & usage
);
Sets the usage string.
setWidth
void setWidth(
int width
);
Sets the line width for the formatted help text.
shortPrefix
std::string shortPrefix() const;
Returns the platform-specific prefix for short options. "-" on Unix, "/" on Windows and OpenVMS.
calcIndent
int calcIndent() const;
Calculates the indentation for the option descriptions from the given options.
clearWord
void clearWord(
std::ostream & ostr,
int & pos,
std::string & word,
int indent
) const;
Formats and then clears the given word.
formatOption
void formatOption(
std::ostream & ostr,
const Option & option,
int width
) const;
Formats an option, using the platform-specific prefixes.
formatOptions
void formatOptions(
std::ostream & ostr
) const;
Formats all options.
formatText
void formatText(
std::ostream & ostr,
const std::string & text,
int indent
) const;
Formats the given text.
formatText
void formatText(
std::ostream & ostr,
const std::string & text,
int indent,
int firstIndent
) const;
Formats the given text.
formatWord
void formatWord(
std::ostream & ostr,
int & pos,
const std::string & word,
int indent
) const;
Formats the given word.